private void ReleaseAccept(SocketAsyncEventArgs acceptEventArgs, bool isRelease = true) { acceptEventArgsPool.Push(acceptEventArgs); if (isRelease) { maxConnectionsEnforcer.Release(); } }
private void ReleaseIOEventArgs(SocketAsyncEventArgs ioEventArgs) { var dataToken = (DataToken)ioEventArgs.UserToken; dataToken.Reset(true); dataToken.Socket = null; ioEventArgs.AcceptSocket = null; ioEventArgsPool.Push(ioEventArgs); }
private void Accept_Completed(object sender, SocketAsyncEventArgs acceptEventArgs) { try { ProcessAccept(acceptEventArgs); } catch (Exception ex) { logger.Error(string.Format("AcceptCompleted method error:{0}", ex)); if (acceptEventArgs.AcceptSocket != null) { acceptEventArgs.AcceptSocket.Close(); acceptEventArgs.AcceptSocket = null; } acceptEventArgsPool.Push(acceptEventArgs); maxConnectionsEnforcer.Release(); } }
private void ReleaseIOEventArgs(SocketAsyncEventArgs ioEventArgs) { if (ioEventArgs == null) { return; } var dataToken = (DataToken)ioEventArgs.UserToken; if (dataToken != null) { dataToken.Reset(true); dataToken.Socket = null; } ioEventArgs.AcceptSocket = null; ioEventArgsPool.Push(ioEventArgs); }