private void IssueReceive()
{
if (!_issueCountFlag.Increment())
{
return;
}
if (_receiveLargeBuffer == null)
{
_receiveArgs.SetBuffer(
_receiveLength,
_receiveBuffer.Length - _receiveLength);
}
else
{
_receiveArgs.SetBuffer(
0,
_receiveBuffer.Length);
}
try
{
if (!_socket.ReceiveAsync(_receiveArgs))
{
OnReceiveComplete(_socket, _receiveArgs);
}
}
catch (SocketException e)
{
HandleSocketError(e.SocketErrorCode);
}
catch (ObjectDisposedException)
{
HandleSocketError(SocketError.NotConnected);
}
}