Server.Network.SendQueue.CheckFlushReady C# (CSharp) Method

CheckFlushReady() public method

public CheckFlushReady ( ) : Gram
return Gram
		public Gram CheckFlushReady() {
			Gram gram = null;

			if ( _pending.Count == 0 && _buffered != null ) {
				gram = _buffered;

				_pending.Enqueue( _buffered );
				_buffered = null;
			}

			return gram;
		}

Usage Example

Example #1
0
        private void Send_Completion(object sender, SocketAsyncEventArgs e)
        {
            Send_Process(e);

            if (m_Disposing)
            {
                return;
            }

            if (m_CoalesceSleep >= 0)
            {
                Thread.Sleep(m_CoalesceSleep);
            }

            SendQueue.Gram gram;

            lock (m_SendQueue)
            {
                gram = m_SendQueue.Dequeue();

                if (gram == null && m_SendQueue.IsFlushReady)
                {
                    gram = m_SendQueue.CheckFlushReady();
                }
            }

            if (gram != null)
            {
                m_SendEventArgs.SetBuffer(gram.Buffer, 0, gram.Length);
                Send_Start();
            }
        }
All Usage Examples Of Server.Network.SendQueue::CheckFlushReady