protected virtual void BuildReceiveMsg(byte[] bytes) { TcpReceiveMsg receiveMsg = tcpReceiveMsgFactory.Build(bytes); if (receiveMsg != null) { EnqueueReceiveMsgPool(receiveMsg); } }
protected virtual void EnqueueReceiveMsgPool(TcpReceiveMsg tcpReceiveMsg) { while (true) { if (Interlocked.CompareExchange(ref receiveMsgPoolState, 1, 0) == 0) { receiveMsgPool.Enqueue(tcpReceiveMsg); receiveMsgPoolState = 0; return; } } }