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