private void Socket_Send(IAsyncResult ar)
{
try
{
lock (_session)
{
if (_session.Socket == null)
return;
int transBytes = _session.Socket.EndSend(ar);
NetworkSendToken token = (NetworkSendToken)ar.AsyncState;
if (token != null)
{
token.Buffer.Read(transBytes);
if (token.Buffer.ReadableSize == 0)
token.CompletionAction();
}
}
}
catch (SocketException)
{
}
catch (ArgumentException)
{
}
catch (Exception e)
{
Logger.Err(LogMask.Aegis, e.ToString());
}
}