Exemplo n.º 1
0
        void IWritableBufferAwaiter.OnCompleted(Action continuation)
        {
            Action awaitable;

            lock (_sync)
            {
                awaitable = _writerAwaitable.OnCompleted(continuation, ref _readerCompletion);
            }
            TrySchedule(_writerScheduler, awaitable);
        }
Exemplo n.º 2
0
        void IWritableBufferAwaiter.OnCompleted(Action continuation)
        {
            Action awaitable;
            bool   doubleCompletion;

            lock (_sync)
            {
                awaitable = _writerAwaitable.OnCompleted(continuation, out doubleCompletion);
            }
            if (doubleCompletion)
            {
                Reader.Complete(PipelinesThrowHelper.GetInvalidOperationException(ExceptionResource.NoConcurrentOperation));
            }
            TrySchedule(_writerScheduler, awaitable);
        }
Exemplo n.º 3
0
        internal void OnFlushAsyncCompleted(Action continuation)
        {
            Action awaitable;
            bool   doubleCompletion;

            lock (_sync)
            {
                awaitable = _writerAwaitable.OnCompleted(continuation, out doubleCompletion);
            }
            if (doubleCompletion)
            {
                Reader.Complete(ThrowHelper.CreateInvalidOperationException_NoConcurrentOperation());
            }
            TrySchedule(_writerScheduler, awaitable);
        }
Exemplo n.º 4
0
 void IWritableBufferAwaiter.OnCompleted(Action continuation)
 {
     _writerAwaitable.OnCompleted(continuation, ref _readerCompletion);
 }