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.