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.
86
private readonly Channel<
Http2OutputProducer
> _channel;
104
private readonly Queue<
Http2OutputProducer
> _waitingForMoreConnectionWindow = new();
106
private
Http2OutputProducer
? _lastWindowConsumer;
153
_channel = Channel.CreateBounded<
Http2OutputProducer
>(new BoundedChannelOptions(maxStreamsPerConnection)
164
public void Schedule(
Http2OutputProducer
producer)
182
while (_channel.Reader.TryRead(out
var
producer) && !producer.CompletedResponse)
227
static bool HasStateFlag(
Http2OutputProducer
.State state,
Http2OutputProducer
.State flags)
231
var flushHeaders = HasStateFlag(observed,
Http2OutputProducer
.State.FlushHeaders) && !HasStateFlag(currentState,
Http2OutputProducer
.State.FlushHeaders);
235
var aborted = HasStateFlag(currentState,
Http2OutputProducer
.State.Aborted);
236
var completed = HasStateFlag(currentState,
Http2OutputProducer
.State.Completed) && !hasMoreData;
365
private bool TryQueueProducerForConnectionWindowUpdate(long actual,
Http2OutputProducer
producer)
1123
private 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)
34
private
Http2OutputProducer
_http2Output = default!;