Commit Graph

17 Commits

Author SHA1 Message Date
Shane Bryldt 6515bc729c FS-10167: Some fixes to get the windows release build working, and fixed a mistake with asserting on executed statements which would get compiled out for release builds 2017-04-21 16:27:39 -06:00
Shane Bryldt a8a935d64f FS-10167: Temporary commit while trying to figure out why the release build of libsodium under VS won't link properly. 2017-04-21 15:43:04 -06:00
Shane Bryldt 5d682abd62 FS-10167: Major updates to lifecycle management across a number of objects changing a number of architecture related areas, fixed some little bugs, too much to remember exactly 2017-04-20 16:56:08 -06:00
Shane Bryldt 2e02f3b498 FS-10167: Adjusted modules to utilize an isolated pool with auto cleanup per module, which also contains the implementation specific module data. Also changed the thread model of the listener for the wss module to utilize the thread pool, alleviating ownership issues during cleanup. 2017-04-18 17:02:34 -06:00
Shane Bryldt 21f5635037 FS-10167: Small fix, made state volatile in session and connection to prevent odd behaviour by the GCC compiler under linux 2017-04-18 15:10:34 -05:00
Shane Bryldt 2c996b592f FS-10167: Switched connection lifecycle to an isolated pool similar to sessions, also refactored the inner WSS transport implementation to be part of the same pool so it is cleaned up with the connection. Switched the connection state machine thread to also utilize thread pool to avoid direct ownership over the thread, similar to session but without the use of a signaled condition due to abstraction of transports which may need to deal with polling for socket events such as with WSS transport. Completely removed the temporary worker thread in the main handle that was for connection/session cleanup. 2017-04-18 13:41:00 -06:00
Shane Bryldt ea0dc132a3 FS-10167: Rewrote the ks_pool allocator, no longer uses paging or internal block allocation, but still retains reference counting and auto cleanup callbacks, should be much more efficient now on windows than the original mmap approach, and all tests now run successfully! 2017-04-11 14:43:00 -06:00
Shane Bryldt dd6031544a FS-10167: Fixed an issue with connection cleanup, the same approach should be taken with sessions to avoid any potential thread deadlock due to cleanup from the same thread which is running the session. 2017-04-04 12:32:01 -06:00
Shane Bryldt 7742dffae4 FS-9952: Initial implementation of a very basic text chat system which introduced a number of supporting subsystems 2017-03-22 17:42:50 -04:00
Shane Bryldt 8f569f715b FS-9952: Big commit, first registered jsonrpc echo call successful, lots of cleanup remaining 2017-03-22 17:42:50 -04:00
Shane Bryldt 5d7e40c811 FS-9952: Some code refactoring and added TTL for sessions, currently harcoded at 5 seconds for testing purposes only and should come from config 2017-03-22 17:42:50 -04:00
Shane Bryldt 14a99987bb FS-9952: Preliminary session negotiations done, added a bunch of logging, fixed up cleanup code, needs more testing and more error handling 2017-03-22 17:42:50 -04:00
Shane Bryldt 3d8fd5dcaf FS-9952: Added the first half of the session negotations for the server side, untested as it requires the second half coming soon for client side 2017-03-22 17:42:50 -04:00
Shane Bryldt cb7e95fd9a FS-9952: A bunch of cleanup and shifting connections towards ID based passing instead of pointers, will replicate and adjust for session system next 2017-03-22 17:42:50 -04:00
Shane Bryldt 7e2d375d76 FS-9952: Added envelope to queue sending messages, prepping for initial server transport testing 2017-03-22 17:42:49 -04:00
Shane Bryldt de1ddf187b FS-9952: More work on the connection and transport code, couple things left to do but nearly ready for testing upto starting session negotiations 2017-03-22 17:42:49 -04:00
Shane Bryldt c3b7bb583f FS-9952: Rewrote core code to utilize state machine driven system based on discussions, code compiles but completely untested currently 2017-03-22 17:42:49 -04:00