Dwarrowdelf.TcpConnection.DeserializerMain C# (CSharp) Method

DeserializerMain() private method

private DeserializerMain ( ) : void
return void
		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");
		}