private void Receive_Process(SocketAsyncEventArgs e)
{
int byteCount = e.BytesTransferred;
if (e.SocketError != SocketError.Success || byteCount <= 0)
{
Dispose(false);
return;
}
m_NextCheckActivity = DateTime.Now + TimeSpan.FromMinutes(1.2);
byte[] buffer = m_RecvBuffer;
if (m_Encoder != null)
{
m_Encoder.DecodeIncomingPacket(this, ref buffer, ref byteCount);
}
lock (m_Buffer)
m_Buffer.Enqueue(buffer, 0, byteCount);
m_MessagePump.OnReceive(this);
lock ( m_AsyncLock ) {
m_AsyncState &= ~AsyncState.Pending;
}
}