public SocketAsyncSendArgs(ISocketAsyncManager asyncManager) : base() { _asyncManager = asyncManager; ID = _asyncManager.ID + "_SEND"; TotalSent = 0; }
public SocketAsyncReceiveArgs(ISocketAsyncManager asyncManager) : base() { _asyncManager = asyncManager; ID = _asyncManager.ID + "_RECV"; TotalReceived = 0; }
protected void ReturnToAsyncSocketsPool(ISocketAsyncManager asyncManager) { _maxConnectionsSemaphore.Release(); lock (_asyncManagersPool) { asyncManager.Clear(); _connectedClients.Remove(asyncManager); _asyncManagersPool.Push(asyncManager); } }
private void AsyncManager_ConnectionClosed(ISocketAsyncManager asyncManager) { ReturnToAsyncSocketsPool(asyncManager); }
public void Push(ISocketAsyncManager item) { if (item == null) { throw new ArgumentNullException("Items added to a SocketAsyncEventArgsPool cannot be null"); } lock (_pool) { _pool.Push(item); } }