Skip to content
This repository was archived by the owner on Jun 16, 2022. It is now read-only.

Dtronix Message Queue v1.0 Released

Choose a tag to compare

@DJGosnell DJGosnell released this 08 Mar 21:45
· 125 commits to master since this release

Change Highlights

  • MessageQueue
    • Removed all SmartThreadPool threads and transitioned to TPL tasks.
    • MqMessageReader
      • Added Position property to determine or set the position of the byte pointer in the reader.
      • Added Skip() method to allow for skipping of portions of the stream.
  • RPC
    • Simplified method of authenticating clients.
    • RPC sessions can now be authenticated before connections are established.
    • AuthenticationResult is renamed to AuthenticationSuccess and failures are handled through the Closed event.

faf85d6 Removed all references to the SmartThreadPool.
e69d8d1 Added shalow and deep cloning of MqFrame and MqMessage. Completed RpcStream class. Added Rpc streaming tests. Started Rpc streaming parameters.
9049762 ByteTransport now notifies the message handler that it is ready for more data.
0b3827d Added MqFrame.ToMessage() to convert a frame into a message. Implementing methods to handle transportation of bytes.
cbdb53f Changed AuthenticationResult to AuthenticationSuccess. Authentication failure is now handled through the Closed session event. Updated all RPC calls to use MessageHandler SendHandlerMessage method. SendHandlerMessage now prefixes messages with a header frame and strips this frame when passing it to the handler action.
6b1dbc2 Reworked ResponseWait into ConcurrentDictionary. Moved waiting logic around.
33d806c Fixed issue with CreateRemoteWaitHandle which created a handle on the local list instead of the remote.
65f9313 Ported all waiting methods to a dedicated classes to be reused in stream reading.
055bf58 Rework of wait handles.
debbd84 Fix for hanging test.
e76d514 Relocated message handlers. Started work on RpcByteTransport.
d1001e7 Added RepeatAttribute for repeating Theories. Fixed timeout issue in client outout test.
c6cac1c Fixed bug with exception deserialization.
42d8b9a Added blocking tests.
5549773 Complete changeover to TPL tasks.
274e9bf Dependency on SmartThreadPool and used TPL Tasks.
a2accaf Named STP threads. Changed default number of RPC session threads to 5 to increase performance.
9c2cb4f Added tests for new MqMessageReader Skip method. Added MqMessageReader.Position setter and tests.
f2f737a Added byte skipping in MqMessageReader. Implemented in the Ppc methods.
31867d0 Checks added to ensure message is handled.
22b2c26 Moved message handling into separate class to separate session functionality.
7722fef Renamed SocketBase to SessionHandler. Simplified method of session creation.
6aa8144 Work to simplify session usage.
e352f54 Reordering internal way wait handles are held.
a6ba5dd Started work on streaming RPC data.
72bcabf Moved timeout functionality into the BaseSocket for servers and clients. When a server drops a client connection, the client will timeout. Tests added. Moved timeout configurations from MqConfig into SocketConfig.
b6cd8e3 Completed implementation of Rpc Authentication. Added new "Ready" event executed on worker thread for sessions to be executed after the session has been authenticated.
944130b Updated for wire descriptors
16a067a Fixed MqSession deleting the authentication frame failure before closing. Started protocol documentation.
4d1066f Added testing. First complete iteration of authentication events.
3da6df9 Committed in broken state. Completed logical flow of authentication of sessions.
4c96eaa Work on new Rpc authentication module.
39f7636 Allowed OnConnected and OnDisconnected to be overriden in sub-sessions. Added new disconnection reasons for authentication and authorization.