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