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;
}