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(); }