Beispiel #1
0
 public ValueTask <FlushResult> FlushAsync(IHttpOutputAborter outputAborter, CancellationToken cancellationToken)
 {
     lock (_writeLock)
     {
         if (_completed)
         {
             return(default);
Beispiel #2
0
        public Task FlushAsync(IHttpOutputAborter outputAborter, CancellationToken cancellationToken)
        {
            lock (_writeLock)
            {
                if (_completed)
                {
                    return(Task.CompletedTask);
                }

                return(_flusher.FlushAsync(outputAborter, cancellationToken));
            }
        }
        public Task FlushAsync(IHttpOutputAborter outputAborter, CancellationToken cancellationToken)
        {
            lock (_writeLock)
            {
                if (_completed)
                {
                    return(Task.CompletedTask);
                }

                var bytesWritten = _unflushedBytes;
                _unflushedBytes = 0;

                return(_flusher.FlushAsync(_minResponseDataRate, bytesWritten, outputAborter, cancellationToken));
            }
        }
        public Http1OutputProducer(
            PipeWriter pipeWriter,
            string connectionId,
            ConnectionContext connectionContext,
            MemoryPool <byte> memoryPool,
            IKestrelTrace log,
            ITimeoutControl timeoutControl,
            IHttpMinResponseDataRateFeature minResponseDataRateFeature,
            IHttpOutputAborter outputAborter)
        {
            // Allow appending more data to the PipeWriter when a flush is pending.
            _pipeWriter        = new ConcurrentPipeWriter(pipeWriter, memoryPool, _contextLock);
            _connectionId      = connectionId;
            _connectionContext = connectionContext;
            _memoryPool        = memoryPool;
            _log = log;
            _minResponseDataRateFeature = minResponseDataRateFeature;
            _outputAborter = outputAborter;

            _flusher = new TimingPipeFlusher(_pipeWriter, timeoutControl, log);
        }
Beispiel #5
0
 public TestHttpOutputProducer(Pipe pipe, string connectionId, ConnectionContext connectionContext, MemoryPool <byte> memoryPool, IKestrelTrace log, ITimeoutControl timeoutControl, IHttpMinResponseDataRateFeature minResponseDataRateFeature, IHttpOutputAborter outputAborter)
     : base(pipe.Writer, connectionId, connectionContext, memoryPool, log, timeoutControl, minResponseDataRateFeature, outputAborter)
 {
     Pipe = pipe;
 }