Shane Bryldt

FS-10167: Updating linux build

    • -14
    • +10
    /libs/libblade/src/blade_identity.c
    • -10
    • +6
    /libs/libblade/src/blade_subscription.c
FS-10167: Revisited ks_pool to embed the ks_pool_t pointer into the prefix of each allocation, updated libks and libblade to remove unneccessary pool pointers in structures, pool-allocated memory can now be freed without needing to pass the original pool

    • -23
    • +6
    /libs/libblade/src/blade_connection.c
    • -10
    • +5
    /libs/libblade/src/blade_connectionmgr.c
    • -13
    • +13
    /libs/libblade/src/blade_identity.c
    • -22
    • +26
    /libs/libblade/src/blade_mastermgr.c
    • -14
    • +14
    /libs/libblade/src/blade_protocol.c
    • -10
    • +9
    /libs/libblade/src/blade_routemgr.c
    • -17
    • +13
    /libs/libblade/src/blade_rpcmgr.c
    • -18
    • +15
    /libs/libblade/src/blade_session.c
    • -19
    • +15
    /libs/libblade/src/blade_sessionmgr.c
    • -42
    • +29
    /libs/libblade/src/blade_stack.c
    • -11
    • +8
    /libs/libblade/src/blade_subscription.c
    • -40
    • +46
    /libs/libblade/src/blade_subscriptionmgr.c
    • -19
    • +14
    /libs/libblade/src/blade_transport_wss.c
  1. … 32 more files in changeset.
FS-10167: Linux build updated and basic tests work as expected

    • -10
    • +10
    /libs/libblade/src/blade_mastermgr.c
    • -10
    • +10
    /libs/libblade/src/blade_protocol.c
FS-10167: More work on the event channel workflow, switched callback data back to using void* and the assumption callback will clear the data or that it would be cleaned up by a handle shutdown by allocating within the handle pool. Base tests currently working, committing to sync up linux build

    • -71
    • +102
    /libs/libblade/src/blade_stack.c
    • -1
    • +1
    /libs/libblade/src/blade_subscriptionmgr.c
    • -4
    • +4
    /libs/libblade/src/include/blade_rpc.h
    • -1
    • +1
    /libs/libblade/src/include/blade_session.h
    • -8
    • +7
    /libs/libblade/src/include/blade_stack.h
    • -2
    • +2
    /libs/libblade/src/include/blade_types.h
FS-10167: Temporary commit for peer review

    • -43
    • +143
    /libs/libblade/src/blade_mastermgr.c
    • -6
    • +142
    /libs/libblade/src/blade_protocol.c
    • -141
    • +548
    /libs/libblade/src/blade_stack.c
    • -11
    • +11
    /libs/libblade/src/blade_subscription.c
    • -63
    • +46
    /libs/libblade/src/blade_subscriptionmgr.c
    • -0
    • +15
    /libs/libblade/src/blade_upstreammgr.c
    • -1
    • +5
    /libs/libblade/src/include/blade_mastermgr.h
    • -2
    • +6
    /libs/libblade/src/include/blade_protocol.h
    • -4
    • +5
    /libs/libblade/src/include/blade_rpc.h
    • -1
    • +1
    /libs/libblade/src/include/blade_session.h
    • -8
    • +9
    /libs/libblade/src/include/blade_stack.h
  1. … 10 more files in changeset.
FS-10167: Refactoring and cleanup

    • -0
    • +6
    /libs/libblade/libblade.vcxproj.filters
    • -40
    • +43
    /libs/libblade/src/blade_stack.c
    • -1
    • +1
    /libs/libblade/src/blade_subscriptionmgr.c
    • -0
    • +110
    /libs/libblade/src/blade_tuple.c
    • -3
    • +3
    /libs/libblade/src/include/blade_rpc.h
    • -14
    • +14
    /libs/libblade/src/include/blade_stack.h
    • -0
    • +56
    /libs/libblade/src/include/blade_tuple.h
    • -0
    • +1
    /libs/libblade/src/include/blade_types.h
  1. … 3 more files in changeset.
FS-10167: Bug fixes, memory leaks, etc

    • -1
    • +2
    /libs/libblade/src/blade_transportmgr.c
FS-10167: Updating to build clean on linux

FS-10167: Significant cleanup and isolation of code into manager types for better maintainability and easier path to future updates

    • -0
    • +48
    /libs/libblade/libblade.vcxproj.filters
    • -0
    • +188
    /libs/libblade/src/blade_connectionmgr.c
    • -0
    • +227
    /libs/libblade/src/blade_mastermgr.c
    • -11
    • +10
    /libs/libblade/src/blade_protocol.c
    • -0
    • +179
    /libs/libblade/src/blade_routemgr.c
    • -0
    • +319
    /libs/libblade/src/blade_rpcmgr.c
    • -18
    • +18
    /libs/libblade/src/blade_session.c
    • -0
    • +280
    /libs/libblade/src/blade_sessionmgr.c
    • -1293
    • +264
    /libs/libblade/src/blade_stack.c
    • -0
    • +393
    /libs/libblade/src/blade_subscriptionmgr.c
    • -28
    • +18
    /libs/libblade/src/blade_transport_wss.c
    • -0
    • +236
    /libs/libblade/src/blade_transportmgr.c
    • -0
    • +323
    /libs/libblade/src/blade_upstreammgr.c
  1. … 17 more files in changeset.
FS-10167: First pass of adding a test protocol

    • -2
    • +5
    /libs/libblade/src/include/blade_stack.h
    • -0
    • +462
    /libs/libblade/test/testcli.c
    • -0
    • +3
    /libs/libblade/test/testcli.cfg
    • -0
    • +215
    /libs/libblade/test/testcli.vcxproj
    • -0
    • +414
    /libs/libblade/test/testcon.c
    • -0
    • +20
    /libs/libblade/test/testcon.cfg
    • -0
    • +215
    /libs/libblade/test/testcon.vcxproj
FS-10167: Fixing linux build for blade.broadcast related stuff

FS-10167: Added preliminary blade.broadcast, tested event being broadcasted with bladec and blades through switchblade

    • -0
    • +230
    /libs/libblade/src/blade_stack.c
    • -0
    • +4
    /libs/libblade/src/include/blade_stack.h
FS-10167: Update to the preliminary blade.subscribe support, added registration of local callback for processing an event received through upcoming blade.broadcast

    • -13
    • +27
    /libs/libblade/src/blade_stack.c
    • -0
    • +31
    /libs/libblade/src/blade_subscription.c
    • -3
    • +3
    /libs/libblade/src/include/blade_stack.h
FS-10167: Preliminary version of blade.subscribe is implemented

    • -0
    • +6
    /libs/libblade/libblade.vcxproj.filters
    • -9
    • +315
    /libs/libblade/src/blade_stack.c
    • -0
    • +172
    /libs/libblade/src/blade_subscription.c
    • -0
    • +6
    /libs/libblade/src/include/blade_stack.h
    • -0
    • +60
    /libs/libblade/src/include/blade_subscription.h
    • -2
    • +3
    /libs/libblade/src/include/blade_types.h
FS-10167: Added preliminary support for blade.register, currently it is only used to update routes upstream, when a new nodeid is introduced or no longer available a blade.register is passed to update the routing tables. Edge cases are not handled yet.

    • -102
    • +109
    /libs/libblade/src/blade_stack.c
    • -2
    • +2
    /libs/libblade/src/include/blade_session.h
    • -0
    • +2
    /libs/libblade/src/include/blade_stack.h
FS-10167: Updates to get last blade stuff compiling and running under linux again

FS-10167: Preliminary support for blade.execute, tested with a basic test.echo across 3 nodes with a common master. Multitier routing is not yet fully supported

    • -6
    • +6
    /libs/libblade/libblade.vcxproj.filters
    • -432
    • +0
    /libs/libblade/src/blade_jsonrpc.c
    • -0
    • +465
    /libs/libblade/src/blade_rpc.c
    • -62
    • +48
    /libs/libblade/src/blade_session.c
    • -223
    • +515
    /libs/libblade/src/blade_stack.c
    • -12
    • +12
    /libs/libblade/src/blade_transport_wss.c
    • -87
    • +0
    /libs/libblade/src/include/blade_jsonrpc.h
    • -0
    • +92
    /libs/libblade/src/include/blade_rpc.h
    • -1
    • +1
    /libs/libblade/src/include/blade_session.h
    • -8
    • +19
    /libs/libblade/src/include/blade_stack.h
    • -5
    • +5
    /libs/libblade/src/include/blade_types.h
    • -132
    • +100
    /libs/libblade/test/bladec.c
FS-10167: Shifted the routing layer to occur slightly lower in the processing stack, which allows routing of messages without creating local pending requests for callback and TTL tracking

    • -101
    • +7
    /libs/libblade/src/blade_stack.c
    • -1
    • +1
    /libs/libblade/src/blade_transport_wss.c
FS-10167: First pass on adding support for blade.locate

    • -2
    • +309
    /libs/libblade/src/blade_stack.c
    • -0
    • +1
    /libs/libblade/src/include/blade_stack.h
FS-10167: Getting last commit to build and run under linux

FS-10167: Implemented first draft of blade.publish, still need to circle back to finish blade.route to support multi-tiered routes

    • -0
    • +6
    /libs/libblade/libblade.vcxproj.filters
    • -0
    • +145
    /libs/libblade/src/blade_protocol.c
    • -123
    • +475
    /libs/libblade/src/blade_stack.c
    • -86
    • +51
    /libs/libblade/src/blade_transport_wss.c
    • -0
    • +7
    /libs/libblade/src/include/blade_jsonrpc.h
    • -0
    • +57
    /libs/libblade/src/include/blade_protocol.h
    • -3
    • +0
    /libs/libblade/src/include/blade_session.h
    • -8
    • +12
    /libs/libblade/src/include/blade_stack.h
    • -7
    • +4
    /libs/libblade/src/include/blade_types.h
  1. … 3 more files in changeset.
FS-10167: Updates to previous overhaul commit to get everything building right under linux

    • -5
    • +5
    /libs/libblade/src/blade_transport_wss.c
    • -3
    • +9
    /libs/libblade/switchblade/Makefile.am
    • -2
    • +0
    /libs/libblade/switchblade/switchblade.c
FS-10167: Significant overhaul to libblade and it's operations to match the first layer required by the blade protocol, still more work to be done but nodes can connect to router nodes and get initial identities registered based on realms configured for the master router node.

    • -69
    • +6
    /libs/libblade/libblade.vcxproj.filters
    • -109
    • +36
    /libs/libblade/src/blade_connection.c
    • -250
    • +0
    /libs/libblade/src/blade_datastore.c
    • -0
    • +396
    /libs/libblade/src/blade_jsonrpc.c
    • -118
    • +0
    /libs/libblade/src/blade_method.c
    • -153
    • +0
    /libs/libblade/src/blade_module.c
    • -0
    • +274
    /libs/libblade/src/blade_module_master.c
    • -1131
    • +0
    /libs/libblade/src/blade_module_wss.c
    • -339
    • +0
    /libs/libblade/src/blade_protocol.c
    • -223
    • +224
    /libs/libblade/src/blade_session.c
    • -172
    • +0
    /libs/libblade/src/blade_space.c
    • -300
    • +407
    /libs/libblade/src/blade_stack.c
    • -0
    • +140
    /libs/libblade/src/blade_transport.c
  1. … 24 more files in changeset.
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

FS-10167: Temporary commit while trying to figure out why the release build of libsodium under VS won't link properly.

    • -0
    • +17
    /libs/libblade/src/blade_connection.c
FS-10167: Updates to make stuff compile under linux again

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

    • -3
    • +3
    /libs/libblade/libblade.vcxproj.filters
    • -0
    • +22
    /libs/libblade/src/blade_identity.c
    • -20
    • +20
    /libs/libblade/src/blade_method.c
    • -454
    • +0
    /libs/libblade/src/blade_module_chat.c
    • -67
    • +2
    /libs/libblade/src/blade_module_wss.c
    • -22
    • +67
    /libs/libblade/src/blade_protocol.c
    • -45
    • +32
    /libs/libblade/src/blade_space.c
    • -198
    • +175
    /libs/libblade/src/blade_stack.c
    • -1
    • +0
    /libs/libblade/src/include/blade_method.h
  1. … 13 more files in changeset.
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.

    • -16
    • +20
    /libs/libblade/src/blade_module.c
    • -10
    • +30
    /libs/libblade/src/blade_module_chat.c
    • -52
    • +40
    /libs/libblade/src/blade_module_wss.c
    • -2
    • +1
    /libs/libblade/src/include/blade_module.h
FS-10167: Small fix, made state volatile in session and connection to prevent odd behaviour by the GCC compiler under linux

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.

    • -47
    • +50
    /libs/libblade/src/blade_connection.c
    • -8
    • +8
    /libs/libblade/src/blade_module_chat.c
    • -208
    • +93
    /libs/libblade/src/blade_module_wss.c
    • -90
    • +16
    /libs/libblade/src/blade_stack.c
    • -6
    • +2
    /libs/libblade/src/include/blade_connection.h
    • -3
    • +3
    /libs/libblade/src/include/blade_protocol.h