1 instantiation of Http2OutputProducer
Microsoft.AspNetCore.Server.Kestrel.Core (1)
Internal\Http2\Http2Stream.cs (1)
63_http2Output = new Http2OutputProducer(this, context);
16 references to Http2OutputProducer
Microsoft.AspNetCore.Server.Kestrel.Core (16)
Internal\Http2\Http2FrameWriter.cs (14)
69private readonly Channel<Http2OutputProducer> _channel; 83private readonly Queue<Http2OutputProducer> _waitingForMoreConnectionWindow = new(); 85private Http2OutputProducer? _lastWindowConsumer; 133_channel = Channel.CreateBounded<Http2OutputProducer>(new BoundedChannelOptions(maxStreamsPerConnection) 144public void Schedule(Http2OutputProducer producer) 162while (_channel.Reader.TryRead(out var producer) && !producer.CompletedResponse) 196static bool HasStateFlag(Http2OutputProducer.State state, Http2OutputProducer.State flags) 200var flushHeaders = HasStateFlag(observed, Http2OutputProducer.State.FlushHeaders) && !HasStateFlag(currentState, Http2OutputProducer.State.FlushHeaders); 204var aborted = HasStateFlag(currentState, Http2OutputProducer.State.Aborted); 205var completed = HasStateFlag(currentState, Http2OutputProducer.State.Completed) && !hasMoreData; 331private bool TryQueueProducerForConnectionWindowUpdate(long actual, Http2OutputProducer producer) 986private void EnqueueWaitingForMoreConnectionWindow(Http2OutputProducer producer)
Internal\Http2\Http2OutputProducer.cs (1)
251_stream.ResetAndAbort(new ConnectionAbortedException($"{nameof(Http2OutputProducer)} has completed."), Http2ErrorCode.INTERNAL_ERROR);
Internal\Http2\Http2Stream.cs (1)
22private Http2OutputProducer _http2Output = default!;