public MemoryPoolBlock IncomingStart() { const int minimumSize = 2048; if (_tail != null && minimumSize <= _tail.Data.Offset + _tail.Data.Count - _tail.End) { _pinned = _tail; } else { _pinned = _memory.Lease(); } return(_pinned); }
public SocketOutput( EventThread thread, UvStreamHandle socket, MemoryPool memory, Connection connection, ConnectionId connectionId, IThreadPool threadPool, Queue <UvWriteReq> writeReqPool) { _thread = thread; _socket = socket; _connection = connection; _connectionId = connectionId; _threadPool = threadPool; _tasksPending = new Queue <WaitingTask>(_initialTaskQueues); _writeContextPool = new Queue <WriteContext>(_maxPooledWriteContexts); _writeReqPool = writeReqPool; _head = memory.Lease(); _tail = _head; }
public MemoryPoolIterator ProducingStart() { _producingBlock = _memory.Lease(); return(new MemoryPoolIterator(_producingBlock)); }