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)
69
private readonly Channel<
Http2OutputProducer
> _channel;
83
private readonly Queue<
Http2OutputProducer
> _waitingForMoreConnectionWindow = new();
85
private
Http2OutputProducer
? _lastWindowConsumer;
133
_channel = Channel.CreateBounded<
Http2OutputProducer
>(new BoundedChannelOptions(maxStreamsPerConnection)
144
public void Schedule(
Http2OutputProducer
producer)
162
while (_channel.Reader.TryRead(out
var
producer) && !producer.CompletedResponse)
196
static bool HasStateFlag(
Http2OutputProducer
.State state,
Http2OutputProducer
.State flags)
200
var flushHeaders = HasStateFlag(observed,
Http2OutputProducer
.State.FlushHeaders) && !HasStateFlag(currentState,
Http2OutputProducer
.State.FlushHeaders);
204
var aborted = HasStateFlag(currentState,
Http2OutputProducer
.State.Aborted);
205
var completed = HasStateFlag(currentState,
Http2OutputProducer
.State.Completed) && !hasMoreData;
331
private bool TryQueueProducerForConnectionWindowUpdate(long actual,
Http2OutputProducer
producer)
986
private 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)
22
private
Http2OutputProducer
_http2Output = default!;