internal void ReceiveMessage(IntPtr msgPtr) { NetMsg structure = Marshal.PtrToStructure <NetMsg>(msgPtr); try { this.OnMessage(structure.Connection, structure.Identity, structure.DataPtr, structure.DataSize, structure.RecvTime, structure.MessageNumber, structure.Channel); } finally { structure.Release(msgPtr); } }