In order to safely be accessed across threads, the private bool which dictates whether or not the DesktopClient is running has been decorated with the volitile keyword. This should enable the DesktopClient to safely be shutdown from another thread.
In order to avoid switching on types in StreamingMessageHandler, the NetMQ tcp Push Socket will now only send the serialized packet to the desktop client, instead of the serialized packet and the packet type.
The DesktopClient now only accepts single part messages in order to accomadate the changes in StreamingMessageHandler. The type of the packet is distinguished in the DesktopClient because StreamingMessageHandler does not disnguish the types of the packets.
The StreamingMessageHandler tests and DesktopClientTests have been altered to reflect these changes.
The DesktopClient recieves messages from the LEAN engine and uses an instance of the IMessageHandler to pass messages to the view. The DesktopClient uses a NetMQ Pull socket to accept the messages over TCP.
The desktop client should be run in another thread.