public void OnStreamHeaderReceived(IHttp3Stream stream) { _inner.OnStreamHeaderReceived(stream); if (_http3TestBase._runningStreams.TryGetValue(stream.StreamId, out var testStream)) { testStream.OnHeaderReceivedTcs.TrySetResult(); } }
public void OnStreamCompleted(IHttp3Stream stream) { _inner.OnStreamCompleted(stream); if (_http3TestBase._runningStreams.TryRemove(stream.StreamId, out var testStream)) { testStream.OnStreamCompletedTcs.TrySetResult(); } }
//private int _unflushedBytes; public Http3FrameWriter(PipeWriter output, ConnectionContext connectionContext, ITimeoutControl timeoutControl, MinDataRate?minResponseDataRate, string connectionId, MemoryPool <byte> memoryPool, IKestrelTrace log, IStreamIdFeature streamIdFeature, Http3PeerSettings clientPeerSettings, IHttp3Stream http3Stream) { _outputWriter = output; _connectionContext = connectionContext; _timeoutControl = timeoutControl; _minResponseDataRate = minResponseDataRate; _connectionId = connectionId; _memoryPool = memoryPool; _log = log; _streamIdFeature = streamIdFeature; _http3Stream = http3Stream; _outgoingFrame = new Http3RawFrame(); _flusher = new TimingPipeFlusher(_outputWriter, timeoutControl, log); _headerEncodingBuffer = new byte[_maxFrameSize]; // Note that max total header size value doesn't react to settings change during a stream. // Unlikely to be a problem in practice: // - Settings rarely change after the start of a connection. // - Response header size limits are a best-effort requirement in the spec. _maxTotalHeaderSize = clientPeerSettings.MaxRequestHeaderFieldSectionSize > int.MaxValue ? int.MaxValue : (int)clientPeerSettings.MaxRequestHeaderFieldSectionSize; }
public void OnStreamCompleted(IHttp3Stream stream) { _inner.OnStreamCompleted(stream); }