1 instantiation of Http2OutputProducer
Microsoft.AspNetCore.Server.Kestrel.Core (1)
Internal\Http2\Http2Stream.cs (1)
75_http2Output = new Http2OutputProducer(this, context);
19 references to Http2OutputProducer
Microsoft.AspNetCore.Server.Kestrel.Core (19)
Internal\Http2\Http2FrameWriter.cs (17)
24/// of <see cref="Http2OutputProducer"/> instances (each of which is owned by a stream) that want to write frames. 26/// Reuses a single <see cref="Http2Frame"/>, which it populates based on the next <see cref="Http2OutputProducer"/> 30/// Tracks the outgoing connection window size while <see cref="Http2OutputProducer"/> tracks the stream window size. 86private readonly Channel<Http2OutputProducer> _channel; 104private readonly Queue<Http2OutputProducer> _waitingForMoreConnectionWindow = new(); 106private Http2OutputProducer? _lastWindowConsumer; 153_channel = Channel.CreateBounded<Http2OutputProducer>(new BoundedChannelOptions(maxStreamsPerConnection) 164public void Schedule(Http2OutputProducer producer) 182while (_channel.Reader.TryRead(out var producer) && !producer.CompletedResponse) 227static bool HasStateFlag(Http2OutputProducer.State state, Http2OutputProducer.State flags) 231var flushHeaders = HasStateFlag(observed, Http2OutputProducer.State.FlushHeaders) && !HasStateFlag(currentState, Http2OutputProducer.State.FlushHeaders); 235var aborted = HasStateFlag(currentState, Http2OutputProducer.State.Aborted); 236var completed = HasStateFlag(currentState, Http2OutputProducer.State.Completed) && !hasMoreData; 365private bool TryQueueProducerForConnectionWindowUpdate(long actual, Http2OutputProducer producer) 1123private void EnqueueWaitingForMoreConnectionWindow(Http2OutputProducer producer)
Internal\Http2\Http2OutputProducer.cs (1)
258_stream.ResetAndAbort(new ConnectionAbortedException($"{nameof(Http2OutputProducer)} has completed."), Http2ErrorCode.INTERNAL_ERROR);
Internal\Http2\Http2Stream.cs (1)
34private Http2OutputProducer _http2Output = default!;