Dwarrowdelf.TcpConnection.ReceiveInternal C# (CSharp) Method

ReceiveInternal() private method

private ReceiveInternal ( ) : Message
return Message
		Message ReceiveInternal()
		{
			var recvStream = m_netStream;

			int len = recvStream.ReadBytes;

			uint magic;

			NetSerializer.Primitives.ReadPrimitive(recvStream, out magic);

			if (magic != MAGIC)
				throw new Exception();

			trace.TraceVerbose("[RX] Deserializing");

			var msg = Serializer.Deserialize(recvStream);

			len = recvStream.ReadBytes - len;

			trace.TraceVerbose("[RX] Deserialized {0} bytes, {1}", len, msg.GetType().Name);

			if (m_netStatCollector != null)
				m_netStatCollector.OnMessageReceived(msg.GetType(), len);

			return msg;
		}