Пример #1
0
        public virtual async ValueTask DisposeAsync()
        {
            _disposed = true;
            _unblockHandle.UnblockIfRequired();

            await _threadCompletion.Task;

            _thread.Join();

            _ring.Dispose();
            _unblockHandle.Dispose();
        }
 public void ScheduleAsyncAddAndAcceptPoll(int socket, object acceptSocket)
 {
     _asyncOperationStates[socket] = acceptSocket;
     _asyncOperationQueue.Enqueue(AsyncOperation.AddAndAcceptPoll(socket));
     _unblockHandle.UnblockIfRequired();
 }