Commit Graph

56 Commits

Author SHA1 Message Date
Anthony Minessale
75df6bc406 add missing method 2017-05-04 12:42:20 -05:00
Anthony Minessale
65b3927f5b updates for events 2017-05-04 11:51:40 -05:00
Anthony Minessale
406de0dbf3 update 2017-05-03 18:31:04 -05:00
Anthony Minessale
d2866cc538 temp docs 2017-05-03 18:22:23 -05:00
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
acdf1d93db FS-10167: Updates to make stuff compile under linux again 2017-04-20 18:04:28 -05: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
8d4eac7f69 FS-10167: fixed a couple deadlock issues and a misconception about the locks on hash 2017-04-17 11:10:20 -06:00
Shane Bryldt
5d82a1b2e2 FS-10167: Added ks_list_delete_iterator() to delete the node at the current iterator position (only if available if iterator is active). Updated blade_session to reflect ks_list_t being internally thread-safe now. 2017-04-14 12:32:13 -06:00
Shane Bryldt
075cd0d179 FS-10167: Refactored simclist for ks-ification, and adjusted it for pool-based allocations and cleanup 2017-04-14 08:59:58 -06:00
Shane Bryldt
8957953741 FS-10167: Temporary commit half way through memory lifecycle changes towards isolated memory pools 2017-04-13 15:36:53 -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
be0e1e144b FS-10167: Fixed some issues that appeared primarily under windows testing, committing to determine if a specific read access violation occurs under linux as well. 2017-04-05 10:43:11 -06:00
Shane Bryldt
dbd2ef2d8b FS-10167: Fixed sessions to cleanup external from their own state processing thread to avoid deadlocking on thread join during cleanup. 2017-04-04 12:47:14 -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
a5dc3e8f1f FS-10167: Fixed some issues on library destruction. Added another of the test apps for libblade under windows. Fixed console input under tests. 2017-04-04 11:00:44 -06:00
Shane Bryldt
7944934d20 FS-10167: Fixed bug with ks_pool_resize allocating incorrectly based on recent allocation code changes. Added some missing files as well from prior commits related to libblade test projects and windows VS project property files. 2017-04-03 14:53:28 -06:00
Shane Bryldt
95b3011614 FS-10167: Added windows compilation of libconfig and libsodium to support libblade, all of which now have windows projects and a new libblade solution containing everything. Blade compiles, but many warnings have been disabled and should be reviewed and fixed where reasonable towards clean compiling. Code Analysis has also been enabled for visual studio projects, warnings beginning with C6XXX can be ignored unless adding code-analysis macros to libks and libblade. 2017-03-31 13:06:54 -06:00
Shane Bryldt
5cff01b2a8 FS-10165: Removed dependancy and autoconf check for libsodium from libks. Moved DHT, bencode, and related tests into libblade. Still requires refactoring in blade from ks_* to blade_*. 2017-03-22 17:47:33 -05: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
fd49aebb1d FS-9952: Intermediate commit for a fresh point to start retrofitting the jsonrpc code that is incomplete 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
colm
8e417220d3 FS-9952: Add blade rpc error response creation 2017-03-22 17:42:50 -04:00
Shane Bryldt
a7add33519 FS-9952: Committing to show problem with ks_pool_resize 2017-03-22 17:42:50 -04:00
colm
d6d8ede6b9 FS-9952: Add query & tests for blade extention to rpc messages 2017-03-22 17:42:49 -04:00
colm
06e38ba1ff FS-9952: Add blade extention to rpc messages 2017-03-22 17:42:49 -04:00
Shane Bryldt
418092e1ee FS-9952: Some work towards client connectivity support, commit is to remove blade_message_t and get RPC stuff updated, code does not compile currently 2017-03-22 17:42:49 -04:00
Shane Bryldt
942ae77bde FS-9952: Added initial support for registering transports, and initial untested code for parsing identities 2017-03-22 17:42:49 -04:00
Shane Bryldt
2b3e2646e3 FS-9952: Updated bladec test, it successfully listens for connections, further testing required 2017-03-22 17:42:49 -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
colm
5eb61cf535 FS-9952: Update for compile issues 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
colm
eb4ece83b9 FS-9952: Add testrpcproto, Update api 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
colm
b24eb4d707 FS-9952: Initial rpc application implementation 2017-03-22 17:42:49 -04:00
colm
a9945a682b FS-9952: Initial rpc application implementation 2017-03-22 17:42:49 -04:00
colm
1761e35bf1 FS-9952: Initial rpc application implementation 2017-03-22 17:42:49 -04:00
Shane Bryldt
89940dfc60 FS-9952: Fixed some stuff to get the blade service tested upto the point of processing config and listening on the same port across multiple interfaces 2017-03-22 17:42:49 -04:00
Shane Bryldt
4ec0fbc581 FS-9952: A few changes and implemented the initial service peer state callbacks 2017-03-22 17:42:49 -04:00
Shane Bryldt
80179e7bd0 FS-9952: More work on the blade service transport layer, now compiles but is untested, and still missing a few pieces to be functional 2017-03-22 17:42:49 -04:00
Shane Bryldt
eb57b7910e FS-9952: Temporary commit for some peer review 2017-03-22 17:42:49 -04:00
Shane Bryldt
2c6f954461 FS-9775: Committing start of very basic datastore concept, will start tieing in the physical transport layer for replication under new ticket/branch 2017-01-25 14:59:39 -06:00