void DeserializerMain()
{
try
{
while (true)
{
var msg = ReceiveInternal();
m_msgQueue.Enqueue(msg);
var ev = this.NewMessageEvent;
if (ev != null)
ev();
}
}
catch (Exception e)
{
trace.TraceInformation("[RX]: socket error {0}", e.Message);
m_socket.Shutdown(SocketShutdown.Both);
m_socket.Close();
var ev = this.NewMessageEvent;
if (ev != null)
ev();
}
trace.TraceVerbose("Deserializer thread ending");
}