Esempio n. 1
0
        public void StreamReset()
        {
            Debug.Assert(_dataWriteProcessingTask.IsCompletedSuccessfully);

            _streamEnded = false;
            _suffixSent  = false;
            _suffixSent  = false;
            _startedWritingDataFrames = false;
            _streamCompleted          = false;
            _writerComplete           = false;

            _pipe.Reset();
            _pipeWriter.Reset();

            _dataWriteProcessingTask = ProcessDataWrites();
        }
        public void StreamReset()
        {
            // Data background task must still be running.
            Debug.Assert(!_dataWriteProcessingTask.IsCompleted);
            // Response should have been completed.
            Debug.Assert(_responseCompleteTaskSource.GetStatus(_responseCompleteTaskSource.Version) == ValueTaskSourceStatus.Succeeded);

            _streamEnded = false;
            _suffixSent  = false;
            _startedWritingDataFrames = false;
            _streamCompleted          = false;
            _writerComplete           = false;

            _pipe.Reset();
            _pipeWriter.Reset();
            _responseCompleteTaskSource.Reset();

            // Trigger the data process task to resume
            _resetAwaitable.SetResult(null);
        }
Esempio n. 3
0
    public void StreamReset(uint initialWindowSize)
    {
        // Response should have been completed.
        Debug.Assert(_completedResponse);

        _appCompletedWithNoResponseBodyOrTrailers = false;
        _suffixSent = false;
        _startedWritingDataFrames = false;
        _completeScheduled        = false;
        _writerComplete           = false;
        _pipe.Reset();
        _pipeWriter.Reset();

        _streamWindow              = initialWindowSize;
        _unconsumedBytes           = 0;
        _unobservedState           = State.None;
        _currentState              = State.None;
        _completedResponse         = false;
        _requestProcessingComplete = false;
        _waitingForWindowUpdates   = false;
        _resetErrorCode            = null;
        IsTimingWrite              = false;
    }