internal void OnReaderCompleted(Action <Exception, object> callback, object state) { if (callback == null) { ThrowHelper.ThrowArgumentNullException(ExceptionArgument.callback); } PipeCompletionCallbacks completionCallbacks; lock (_sync) { completionCallbacks = _readerCompletion.AddCallback(callback, state); } if (completionCallbacks != null) { TrySchedule(_writerScheduler, s_invokeCompletionCallbacks, completionCallbacks); } }
void IPipeWriter.OnReaderCompleted(Action <Exception, object> callback, object state) { if (callback == null) { throw new ArgumentNullException(nameof(callback)); } PipeCompletionCallbacks completionCallbacks; lock (_sync) { completionCallbacks = _readerCompletion.AddCallback(callback, state); } if (completionCallbacks != null) { TrySchedule(_writerScheduler, _invokeCompletionCallbacks, completionCallbacks); } }