rendered paste body private static void AsyncRecv(IAsyncResult ar)
{
ClientBase client = (ClientBase) ar.AsyncState;
try
{
int num_bytes = client.TcpSocket.EndReceive(ar);
if (num_bytes == 0)
{
client.Server.DisconnectClient(client);
}
else
{
unchecked
{
client.m_bytesRecv += num_bytes;
m_totalBytesRecv += (uint) num_bytes;
}
client.OnReceive(num_bytes);
client.TcpSocket.BeginReceive(client.m_inBuf, client.InOffset,
client.m_inBuf.Length - client.InOffset, SocketFlags.None,
new AsyncCallback(AsyncRecv), client);
}
}
catch (ObjectDisposedException)
{
client.Server.DisconnectClient(client);
}
catch (Exception e)
{
client.Server.Warning(client, e);
client.Server.DisconnectClient(client);
}
}