* adding user update support
* Adding public key storage
* replaced duplicate fields
* changed messaegs to include a type property
* added encryption example
* Moved threads to tokio async
* Moved threads to tokio async
* Created global message support
* created basic ui that counts
* Created connection abstraction
This abstracts a TcpStream await to use any serialisable types.
* exposed server as lib
+created lib output for server
+ added extra dependencies
+ added functions to retrieve the port of a server
* updated connection
+ added manager trait
+ updated connection to use more idomatic rust code converted enums to Strigns rather that &str
+
* added network Manager
tl;dr, as the title says
* Update network_manager.rs
Converted over to new messaging system.
* meant to add this earlier
* Right bare with me...
This doesnt work for now but i have a system that works.
After this commit i will be resuming the smaller changes.
I needed to do this to find a new approach.
God save my mind.
* Impl IManager for ClientManager
* Added client manager tests
* Stripped server of functinoality
This is temporary whilst the client manager is being tested.
* Update client_manager.rs
swapped lock type for tokio lock
* Update client_manager.rs
- Added type arguments to Client manager
- deprecated start method
* Update client_manager.rs
- implemented handle channel method from old start method.
- added notes to possible issues.
* Update client_manager.rs
+ updated lifetime bounds.
* Update client_manager.rs
+ created function to get the number of connected clients
* Update client_manager.rs
+ created function to add/remove clients to the client manager.
* Update server.rs
- refactored server to simplify message passing
* Update client.rs
meant to add this earlier
* Update messages.rs
formatting
* moved some messages around
* Update server.rs
- removed redundant messages
* Update client_manager.rs
bunch more changes
yes i know i'm rubbish at this plz don't say anything :(
* Added Message Broadcasting functionality
* cleared up warnings
* Update client.rs
- removed redundant fields
* Update client.rs
added global broadcasting
* Added the ability to disconnect from the server
* Update network_manager.rs
this protects the network manager from crashing when a erroneous message is sent
* implemented message sending between users
* Update client.rs
added tokio, to protect client connections.
* Added Lua dependency
* Made server, Lua scriptable.
* added basic scripting abilities to the server
* Update client.rs
fixed stray connection
* made client Lua scriptable
* Made client manager Lua scriptable
* Adde fields to server to get client manager
* Updated testing script
* added client indexing to client manager
* added basic callback support to ClientManager
* moved Lua structs to separate module
* added arbitrary self types
* Created example plugin crate
* Added libloading dependency
* Created plugin trait and create function type
* created basic PluginManager
* Added plugin manager to server
* added modules
* Updated example plugin
* added plugin manager to server
* modified plugin module visibility
* updated example plugin
* updated plagin interface
* created plugin interface
* updated plugin init process
* updated example plugin
* cleaned up lib folder
* fixed cloning issues with plugin manager
* updated plugin trait implementation
* updated module definitions
* upadted rust fmt rules for imports
* fixoing formatting and ther errors. This is a pain to look through. i'm sorry :(
* minor fix
* Fixed plugin not functioning with tokio
* Added plugin lifecycle events
added lifecycle events to the plugin entry.
This allows plugins to be in a stopped paused or running state
* Adjusted visibility modifiers
* added basics of an event system
* updated imports.
* added function to get plugin entry as interface to plugin
* updated plugin example
* fixing linting errors
* updated event architecture
* renamed responder module
* added documention
* created a event result builder
* renamed responder
* updated example with interface setting
* moved event system to foundation
* added back tokio to foundation
* modified visibility
* added functions for IResponder
* more module mess
* made event generic
* made responder generic
* added basic plugin event propogation.
* updated plugin event handler.
* same because vscode?
* made plugin event generic
* RIGHT I'M MOVING TO ACTIX
* Started work on actor conversion
* implemented GetInfo for actix server
* implementing clients using actors
* added ability to add and remove clients
* updated foundation with comments and better messages
* Update Cargo.toml
+ added tokio stream
* added auto connection closing to Connection
* Update actix_server.rs
+ added ClientConnection handlers
* added ability to get server updates
* added basic messaging functonality
* deleted old server version
* renamed files to match std structure
* reformatted project
* renamed old files
* renamed serverActor to server
* added proper prelude
* Update client.rs
minor bug fixes
* updated clap
* made server configurable
* added port configurability
~ moved components to seperate modules
~ added builder and config to network manager
* way too much happened here
+ added scriptable version of the server, networkManager and clientManager
+ added lua engine creation
+also added unfinished rhai support
+ also did some restructuring
* made client manager and clients scriptable
* added more scriptable objects
* Created config manager with path read functionality
* fixed network manager message result types
* added bootstrapper actor
* moved arg matcher funtion.
* created singleton config manager using once pattern.
* removed bootstrapper and created config builder
* fixed panic on file not existing
* ignoring config_file
* added config manager to network manager
* updated some docs
* added config support to network manager, changed lifecycle a bit as well
* removed redundant handlers
* added configuration through args support to config manager and network manager.
* added config manager support to server and removed old serverConfig references
* performed cleanup of network manager
* performed cleanup of server
* updated config manager api to use optionals. This leads to pre-configuration and easier readability and understanding.
* updated server and network manager to new style for setting config values
* cleaned up prelude linting errors
* cleaned up network listener
* cleaned up connection initator
* cleaned up connection actor
* cleaned up lua manager
* cleaned up rhai manager
* cleaned up config manager
* cleaned up client manager
* cleaned up client actor
* cleaned up scriptable interfaces
* updated client uuid version
* fixed client cargo toml
* undone previous change
* moved arg parser to folder as file
* uhh... changes and formatting
* created chat manager and added it to the client manager
* added global message spport to client manager
* refixed network manager (again again)
* added debug messages
* refactord client code
* refactored messages and added new message types
* refactord network manager module name
* resolved warning in connection
* refactored message into foundation, added get message support for clients
* Fixed messages being sent to sender
* fixed not implemented panic, and field misnaming
* turned some references into weak variaties, to prevent memory leaks.
* turned ref into weak ref
* removing strong references from scriping managers
* fixing lints
* making moe things weak repferences
* refactored connection initiator into spereate files
* accedentally ran cargo fmt instead of on one file
* removed the read loop, and replaced it with a recurrent messages.
* added docker files and automated build scripts
* Added client updates for addition and removal of clients