1 write to Http3Api
InMemory.FunctionalTests (1)
Http3\Http3TestBase.cs (1)
126
Http3Api
= new Http3InMemory(_serviceContext, _serviceContext.FakeTimeProvider, _mockTimeoutHandler.Object, LoggerFactory);
351 references to Http3Api
InMemory.FunctionalTests (351)
Http3\Http3ConnectionTests.cs (88)
39
await
Http3Api
.InitializeConnectionAsync(async context =>
52
await
Http3Api
.CreateControlStream();
53
await
Http3Api
.GetInboundControlStream();
55
var requestStream = await
Http3Api
.CreateRequestStream(new[]
79
await
Http3Api
.InitializeConnectionAsync(async context =>
90
await
Http3Api
.CreateControlStream();
91
await
Http3Api
.GetInboundControlStream();
93
var requestStream = await
Http3Api
.CreateRequestStream(new[]
139
await
Http3Api
.InitializeConnectionAsync(async context =>
153
await
Http3Api
.CreateControlStream();
154
await
Http3Api
.GetInboundControlStream();
155
var requestStream = await
Http3Api
.CreateRequestStream(requestHeaders, endStream: true);
171
await
Http3Api
.InitializeConnectionAsync(_echoApplication);
173
var inboundControlStream = await
Http3Api
.GetInboundControlStream();
178
var request = await
Http3Api
.CreateRequestStream(Headers);
186
Http3Api
.CloseServerGracefully();
188
Assert.Null(await
Http3Api
.MultiplexedConnectionContext.AcceptAsync().DefaultTimeout());
190
await
Http3Api
.WaitForConnectionStopAsync(expectedStreamId, false, expectedErrorCode: Http3ErrorCode.NoError);
191
MetricsAssert.NoError(
Http3Api
.ConnectionTags);
197
await
Http3Api
.InitializeConnectionAsync(_echoApplication);
199
var inboundControlStream = await
Http3Api
.GetInboundControlStream();
202
var activeRequest = await
Http3Api
.CreateRequestStream(Headers);
205
Http3Api
.CloseServerGracefully();
207
await
Http3Api
.WaitForGoAwayAsync(false, VariableLengthIntegerHelper.EightByteLimit);
210
var rejectedRequest = await
Http3Api
.CreateRequestStream(Headers);
218
Http3Api
.MultiplexedConnectionContext.Abort();
220
await
Http3Api
.WaitForConnectionStopAsync(4, false, expectedErrorCode: Http3ErrorCode.NoError);
221
MetricsAssert.NoError(
Http3Api
.ConnectionTags);
232
await
Http3Api
.InitializeConnectionAsync(_echoApplication);
234
var outboundcontrolStream = await
Http3Api
.CreateControlStream();
240
await
Http3Api
.GetInboundControlStream();
242
await
Http3Api
.WaitForConnectionErrorAsync<Http3ConnectionErrorException>(
248
MetricsAssert.Equal(ConnectionEndReason.InvalidSettings,
Http3Api
.ConnectionTags);
257
await
Http3Api
.InitializeConnectionAsync(_noopApplication);
259
await
Http3Api
.CreateControlStream(streamId);
260
await
Http3Api
.CreateControlStream(streamId);
262
await
Http3Api
.WaitForConnectionErrorAsync<Http3ConnectionErrorException>(
268
MetricsAssert.Equal(ConnectionEndReason.StreamCreationError,
Http3Api
.ConnectionTags);
277
await
Http3Api
.InitializeConnectionAsync(_noopApplication);
279
var controlStream = await
Http3Api
.CreateControlStream();
284
await
Http3Api
.WaitForConnectionErrorAsync<Http3ConnectionErrorException>(
290
MetricsAssert.Equal(ConnectionEndReason.UnexpectedFrame,
Http3Api
.ConnectionTags);
296
await
Http3Api
.InitializeConnectionAsync(_noopApplication);
298
var controlStream = await
Http3Api
.CreateControlStream(id: 0);
306
Http3Api
.TriggerTick();
307
Http3Api
.TriggerTick(TimeSpan.FromSeconds(1));
309
await
Http3Api
.WaitForConnectionErrorAsync<Http3ConnectionErrorException>(
315
MetricsAssert.Equal(ConnectionEndReason.ClosedCriticalStream,
Http3Api
.ConnectionTags);
322
await
Http3Api
.InitializeConnectionAsync(_noopApplication);
324
var controlStream = await
Http3Api
.CreateControlStream(id: 0);
326
var lifetime =
Http3Api
.MultiplexedConnectionContext.Features.Get<IConnectionLifetimeNotificationFeature>();
336
Http3Api
.CloseServerGracefully();
338
await
Http3Api
.WaitForConnectionStopAsync(0, true, expectedErrorCode: Http3ErrorCode.NoError);
339
MetricsAssert.NoError(
Http3Api
.ConnectionTags);
345
await
Http3Api
.InitializeConnectionAsync(_noopApplication);
347
var controlStream = await
Http3Api
.GetInboundControlStream();
351
Http3Api
.TriggerTick();
352
Http3Api
.TriggerTick(TimeSpan.FromSeconds(1));
354
await
Http3Api
.WaitForConnectionErrorAsync<Http3ConnectionErrorException>(
360
MetricsAssert.Equal(ConnectionEndReason.ClosedCriticalStream,
Http3Api
.ConnectionTags);
371
await
Http3Api
.InitializeConnectionAsync(_noopApplication);
373
var controlStream = await
Http3Api
.CreateControlStream();
383
await
Http3Api
.WaitForConnectionErrorAsync<Http3ConnectionErrorException>(
389
MetricsAssert.Equal(ConnectionEndReason.InvalidFrameLength,
Http3Api
.ConnectionTags);
395
await
Http3Api
.InitializeConnectionAsync(_echoApplication);
397
var inboundControlStream = await
Http3Api
.GetInboundControlStream();
408
var outboundcontrolStream = await
Http3Api
.CreateControlStream();
414
var maxFieldSetting = await
Http3Api
.ServerReceivedSettingsReader.ReadAsync().DefaultTimeout();
431
await
Http3Api
.InitializeConnectionAsync(_echoApplication);
453
await
Http3Api
.InitializeConnectionAsync(async context =>
498
await
Http3Api
.InitializeConnectionAsync(_echoApplication);
532
await
Http3Api
.InitializeConnectionAsync(_echoApplication);
568
await
Http3Api
.InitializeConnectionAsync(requestDelegate);
593
await
Http3Api
.InitializeConnectionAsync(context =>
611
var requestStream = await
Http3Api
.CreateRequestStream(requestHeaders, endStream: true);
631
await
Http3Api
.InitializeConnectionAsync(async c =>
659
var requestStream = await
Http3Api
.CreateRequestStream(new[]
683
await
Http3Api
.InitializeConnectionAsync(async c =>
713
var requestStream = await
Http3Api
.CreateRequestStream(new[]
749
Http3Api
.MultiplexedConnectionContext = new ThrowingMultiplexedConnectionContext(
Http3Api
, skipCount: 2, requestTcs, abortTcs);
750
await
Http3Api
.InitializeConnectionAsync(_echoApplication);
752
await
Http3Api
.CreateControlStream();
753
await
Http3Api
.GetInboundControlStream();
754
var requestStream = await
Http3Api
.CreateRequestStream(Headers, endStream: true);
765
Http3Api
.CloseServerGracefully();
767
var errorCodeFeature =
Http3Api
.MultiplexedConnectionContext.Features.Get<IProtocolErrorCodeFeature>();
813
var requestStream = await
Http3Api
.CreateRequestStream(headers, endStream: !sendData);
Http3\Http3StreamTests.cs (112)
35
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_echoApplication, headers);
56
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(context =>
79
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_echoApplication, headers);
97
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_echoApplication, headers);
115
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_echoMethod, headers, endStream: true);
138
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_echoApplication, headers);
152
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_echoMethod, headers, endStream: true);
169
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_echoPath, headers, endStream: true);
188
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_echoPath, headers, endStream: true);
208
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(context =>
243
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(context =>
267
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_noopApplication, headers, endStream: true);
284
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_noopApplication, headers, endStream: true);
303
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(context =>
328
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_noopApplication, headers, endStream: true);
346
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_noopApplication, headers, endStream: true);
366
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_noopApplication, headers, endStream: true);
387
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_echoHost, headers, endStream: true);
410
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_echoHost, headers, endStream: true);
433
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_echoHost, headers, endStream: true);
456
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_echoHost, headers, endStream: true);
478
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_noopApplication, headers, endStream: true);
498
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_noopApplication, headers, endStream: true);
518
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_noopApplication, headers, endStream: true);
539
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_noopApplication, headers, endStream: true);
558
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
587
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
622
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
658
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
692
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(c =>
722
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
763
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
797
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
830
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(context =>
860
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
894
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
931
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
954
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
986
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(context =>
1012
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
1043
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
1082
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
1109
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(context =>
1137
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
1183
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
1235
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
1283
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
1336
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
1385
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
1437
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
1478
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
1538
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
1593
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
1651
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
1708
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
1767
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
1831
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
1894
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
1955
Http3Api
._serviceContext.ServerOptions.EnableWebTransportAndH3Datagrams = pendingStreamsEnabled;
1957
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_noopApplication, null);
1983
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async c =>
2013
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async c =>
2033
await
Http3Api
.WaitForConnectionErrorAsync<ConnectionAbortedException>(
2038
MetricsAssert.Equal(ConnectionEndReason.UnexpectedFrame,
Http3Api
.ConnectionTags);
2056
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async c =>
2095
Http3Api
._serviceContext.ServerOptions.EnableWebTransportAndH3Datagrams = pendingStreamsEnabled;
2097
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_echoApplication, null);
2108
await
Http3Api
.WaitForConnectionErrorAsync<Http3ConnectionErrorException>(
2114
MetricsAssert.Equal(ConnectionEndReason.UnexpectedFrame,
Http3Api
.ConnectionTags);
2128
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_echoApplication, headers);
2139
await
Http3Api
.WaitForConnectionErrorAsync<ConnectionAbortedException>(
2144
MetricsAssert.Equal(ConnectionEndReason.UnexpectedFrame,
Http3Api
.ConnectionTags);
2150
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_echoApplication, null);
2280
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_noopApplication, headers, endStream: true);
2296
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_noopApplication, headers, endStream: true);
2308
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_noopApplication, headers, endStream: true);
2333
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_notImplementedApp, headers, endStream: true);
2406
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_notImplementedApp, headers, endStream: true);
2504
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_noopApplication, headers, endStream: true);
2522
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
2556
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
2595
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
2628
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
2679
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
2731
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
2773
await
Http3Api
.InitializeConnectionAsync(_noopApplication);
2775
var outboundControlStream = await
Http3Api
.CreateControlStream().DefaultTimeout();
2778
var inboundControlStream = await
Http3Api
.GetInboundControlStream();
2782
var invalidStream = await
Http3Api
.CreateControlStream(typeId).DefaultTimeout();
2789
var requestStream = await
Http3Api
.CreateRequestStream(new[]
2804
await
Http3Api
.InitializeConnectionAsync(context =>
2810
var outboundcontrolStream = await
Http3Api
.CreateControlStream();
2816
var maxFieldSetting = await
Http3Api
.ServerReceivedSettingsReader.ReadAsync().DefaultTimeout();
2821
var requestStream = await
Http3Api
.CreateRequestStream(new[]
2842
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
2914
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(c =>
2954
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(c =>
2987
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(c =>
3009
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async context =>
3024
await
Http3Api
.InitializeConnectionAsync(_noopApplication);
3026
var outboundcontrolStream = await
Http3Api
.CreateControlStream();
3036
await
Http3Api
.InitializeConnectionAsync(_noopApplication);
3038
var outboundcontrolStream = await
Http3Api
.CreateControlStream();
3076
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(async c =>
3111
await
Http3Api
.InitializeConnectionAsync(async context =>
3139
var stream = await
Http3Api
.CreateRequestStream(headers: [], clientWriterScheduler: PipeScheduler.Inline);
3219
await
Http3Api
.InitializeConnectionAsync(_noopApplication);
3223
var outboundcontrolStream = await
Http3Api
.CreateControlStream(clientWriterScheduler: PipeScheduler.Inline);
3246
var fieldSetting = await
Http3Api
.ServerReceivedSettingsReader.ReadAsync().DefaultTimeout();
3251
fieldSetting = await
Http3Api
.ServerReceivedSettingsReader.ReadAsync().DefaultTimeout();
3255
fieldSetting = await
Http3Api
.ServerReceivedSettingsReader.ReadAsync().DefaultTimeout();
3288
Http3Api
.MultiplexedConnectionContext.ConnectionClosed.Register(() => tcs.TrySetResult());
Http3\Http3TimeoutTests.cs (134)
23
await
Http3Api
.InitializeConnectionAsync(_noopApplication).DefaultTimeout();
25
var controlStream = await
Http3Api
.GetInboundControlStream().DefaultTimeout();
28
Http3Api
.AdvanceTime(limits.KeepAliveTimeout + TimeSpan.FromTicks(1));
30
await
Http3Api
.WaitForConnectionStopAsync(0, false, expectedErrorCode: Http3ErrorCode.NoError);
31
MetricsAssert.Equal(ConnectionEndReason.KeepAliveTimeout,
Http3Api
.ConnectionTags);
39
await
Http3Api
.InitializeConnectionAsync(_noopApplication).DefaultTimeout();
40
await
Http3Api
.CreateControlStream();
42
var controlStream = await
Http3Api
.GetInboundControlStream().DefaultTimeout();
45
Http3Api
.AdvanceTime(limits.KeepAliveTimeout + TimeSpan.FromTicks(1));
47
await
Http3Api
.WaitForConnectionStopAsync(0, false, expectedErrorCode: Http3ErrorCode.NoError);
48
MetricsAssert.Equal(ConnectionEndReason.KeepAliveTimeout,
Http3Api
.ConnectionTags);
63
await
Http3Api
.InitializeConnectionAsync(_noopApplication).DefaultTimeout();
65
await
Http3Api
.CreateControlStream();
66
var controlStream = await
Http3Api
.GetInboundControlStream().DefaultTimeout();
68
var requestStream = await
Http3Api
.CreateRequestStream(requestHeaders, endStream: true);
74
Http3Api
.AdvanceTime(limits.KeepAliveTimeout + Heartbeat.Interval + TimeSpan.FromTicks(1));
76
await
Http3Api
.WaitForConnectionStopAsync(4, false, expectedErrorCode: Http3ErrorCode.NoError);
77
MetricsAssert.Equal(ConnectionEndReason.KeepAliveTimeout,
Http3Api
.ConnectionTags);
94
await
Http3Api
.InitializeConnectionAsync(_ =>
100
await
Http3Api
.CreateControlStream();
101
var controlStream = await
Http3Api
.GetInboundControlStream().DefaultTimeout();
103
var requestStream = await
Http3Api
.CreateRequestStream(requestHeaders, endStream: true);
107
Http3Api
.AdvanceTime(limits.KeepAliveTimeout);
108
Http3Api
.AdvanceTime(limits.KeepAliveTimeout);
109
Http3Api
.AdvanceTime(limits.KeepAliveTimeout);
110
Http3Api
.AdvanceTime(limits.KeepAliveTimeout);
111
Http3Api
.AdvanceTime(limits.KeepAliveTimeout);
120
Http3Api
.AdvanceTime(limits.KeepAliveTimeout + Heartbeat.Interval + TimeSpan.FromTicks(1));
122
await
Http3Api
.WaitForConnectionStopAsync(4, false, expectedErrorCode: Http3ErrorCode.NoError);
123
MetricsAssert.Equal(ConnectionEndReason.KeepAliveTimeout,
Http3Api
.ConnectionTags);
133
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_noopApplication, null).DefaultTimeout();
135
var controlStream = await
Http3Api
.GetInboundControlStream().DefaultTimeout();
142
var serverRequestStream =
Http3Api
.Connection._streams[requestStream.StreamId];
144
Http3Api
.TriggerTick();
145
Http3Api
.TriggerTick(limits.RequestHeadersTimeout);
149
Http3Api
.TriggerTick(TimeSpan.FromTicks(1));
162
Http3Api
._serviceContext.ServerOptions.EnableWebTransportAndH3Datagrams = pendingStreamsEnabled;
174
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(_noopApplication, null).DefaultTimeout();
176
var controlStream = await
Http3Api
.GetInboundControlStream().DefaultTimeout();
185
serverRequestStream =
Http3Api
.Connection._unidentifiedStreams[requestStream.StreamId];
191
serverRequestStream =
Http3Api
.Connection._streams[requestStream.StreamId];
194
Http3Api
.TriggerTick();
195
Http3Api
.AdvanceTime(limits.RequestHeadersTimeout);
203
Http3Api
.AdvanceTime(TimeSpan.FromTicks(1));
215
Http3Api
._serviceContext.ServerOptions.EnableWebTransportAndH3Datagrams = true;
221
await
Http3Api
.InitializeConnectionAsync(_noopApplication).DefaultTimeout();
223
var controlStream = await
Http3Api
.GetInboundControlStream().DefaultTimeout();
226
var outboundControlStream = await
Http3Api
.CreateControlStream(id: null);
229
var serverInboundControlStream =
Http3Api
.Connection._unidentifiedStreams[outboundControlStream.StreamId];
231
Http3Api
.TriggerTick();
232
Http3Api
.AdvanceTime(limits.RequestHeadersTimeout);
236
Http3Api
.AdvanceTime(TimeSpan.FromTicks(1));
242
Http3Api
._serviceContext.ServerOptions.EnableWebTransportAndH3Datagrams = false;
246
Http3Api
._timeoutControl.Initialize();
256
await
Http3Api
.InitializeConnectionAsync(_noopApplication).DefaultTimeout();
258
var controlStream = await
Http3Api
.GetInboundControlStream().DefaultTimeout();
261
var outboundControlStream = await
Http3Api
.CreateControlStream(id: null);
265
var serverInboundControlStream =
Http3Api
.Connection._streams[outboundControlStream.StreamId];
267
Http3Api
.TriggerTick();
268
Http3Api
.TriggerTick(limits.RequestHeadersTimeout);
272
Http3Api
.TriggerTick(TimeSpan.FromTicks(1));
285
await
Http3Api
.InitializeConnectionAsync(_noopApplication).DefaultTimeout();
287
var controlStream = await
Http3Api
.GetInboundControlStream().DefaultTimeout();
290
Http3Api
.TriggerTick();
291
Http3Api
.TriggerTick(limits.RequestHeadersTimeout + TimeSpan.FromTicks(1));
293
var outboundControlStream = await
Http3Api
.CreateControlStream(id: 0);
297
Http3Api
.TriggerTick();
305
Http3Api
._serviceContext.ServerOptions.EnableWebTransportAndH3Datagrams = pendingStreamEnabled;
311
await
Http3Api
.InitializeConnectionAsync(_noopApplication).DefaultTimeout();
313
var controlStream = await
Http3Api
.GetInboundControlStream().DefaultTimeout();
316
var outboundControlStream = await
Http3Api
.CreateControlStream(id: null);
322
serverInboundControlStream =
Http3Api
.Connection._unidentifiedStreams[outboundControlStream.StreamId];
327
serverInboundControlStream =
Http3Api
.Connection._streams[outboundControlStream.StreamId];
330
Http3Api
.TriggerTick();
343
Http3Api
._timeoutControl.Initialize();
345
await
Http3Api
.InitializeConnectionAsync(_readRateApplication);
347
var inboundControlStream = await
Http3Api
.GetInboundControlStream();
351
var requestStream = await
Http3Api
.CreateRequestStream(ReadRateRequestHeaders(_helloWorldBytes.Length), endStream: false);
359
Http3Api
.AdvanceTime(limits.MinRequestBodyDataRate.GracePeriod);
363
Http3Api
.AdvanceTime(TimeSpan.FromTicks(1));
367
await
Http3Api
.WaitForConnectionErrorAsync<ConnectionAbortedException>(
372
MetricsAssert.Equal(ConnectionEndReason.MinRequestBodyDataRate,
Http3Api
.ConnectionTags);
385
await
Http3Api
.InitializeConnectionAsync(_noopApplication);
387
var inboundControlStream = await
Http3Api
.GetInboundControlStream();
390
var requestStream = await
Http3Api
.CreateRequestStream(new[]
400
Http3Api
.TriggerTick();
403
Http3Api
.TriggerTick(TimeSpan.FromTicks(1));
406
Http3Api
.TriggerTick(limits.MinResponseDataRate.GracePeriod);
410
await
Http3Api
.WaitForConnectionErrorAsync<Http3ConnectionErrorException>(
416
MetricsAssert.Equal(ConnectionEndReason.MinResponseDataRate,
Http3Api
.ConnectionTags);
456
Http3Api
._timeoutControl.Initialize();
459
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(app.RunApp, _browserRequestHeaders, endStream: false);
467
Http3Api
._timeoutControl.Tick(fakeTimeProvider.GetTimestamp());
470
Http3Api
.AdvanceTime(TimeSpan.FromSeconds((requestStream.BytesReceived + _helloWorldBytes.Length) / limits.MinResponseDataRate.BytesPerSecond) +
475
Http3Api
.AdvanceTime(TimeSpan.FromSeconds(1));
498
Http3Api
._timeoutControl.Initialize();
501
var requestStream = await
Http3Api
.InitializeConnectionAndStreamsAsync(app.RunApp, _browserRequestHeaders, endStream: false);
509
Http3Api
._timeoutControl.Tick(fakeTimeProvider.GetTimestamp());
515
Http3Api
.AdvanceTime(timeToWriteMaxData);
519
Http3Api
.AdvanceTime(TimeSpan.FromSeconds(1));
537
Http3Api
._timeoutControl.Initialize();
539
await
Http3Api
.InitializeConnectionAsync(_readRateApplication);
541
var inboundControlStream = await
Http3Api
.GetInboundControlStream();
545
var requestStream = await
Http3Api
.CreateRequestStream(ReadRateRequestHeaders(_maxData.Length), endStream: false);
557
Http3Api
.AdvanceTime(timeToReadMaxData);
561
Http3Api
.AdvanceTime(TimeSpan.FromSeconds(1));
565
await
Http3Api
.WaitForConnectionErrorAsync<ConnectionAbortedException>(
570
MetricsAssert.Equal(ConnectionEndReason.MinRequestBodyDataRate,
Http3Api
.ConnectionTags);
583
Http3Api
._timeoutControl.Initialize();
585
await
Http3Api
.InitializeConnectionAsync(_readRateApplication);
587
var inboundControlStream = await
Http3Api
.GetInboundControlStream();
591
var requestStream1 = await
Http3Api
.CreateRequestStream(ReadRateRequestHeaders(_maxData.Length), endStream: false);
597
var requestStream2 = await
Http3Api
.CreateRequestStream(ReadRateRequestHeaders(_maxData.Length), endStream: false);
612
Http3Api
.AdvanceTime(timeToReadMaxData);
616
Http3Api
.AdvanceTime(TimeSpan.FromSeconds(1));
620
await
Http3Api
.WaitForConnectionErrorAsync<ConnectionAbortedException>(
625
MetricsAssert.Equal(ConnectionEndReason.MinRequestBodyDataRate,
Http3Api
.ConnectionTags);
638
Http3Api
._timeoutControl.Initialize();
640
await
Http3Api
.InitializeConnectionAsync(_readRateApplication);
642
var inboundControlStream = await
Http3Api
.GetInboundControlStream();
648
var requestStream1 = await
Http3Api
.CreateRequestStream(ReadRateRequestHeaders(_maxData.Length), endStream: false);
657
var requestStream2 = await
Http3Api
.CreateRequestStream(ReadRateRequestHeaders(_maxData.Length), endStream: false);
668
Http3Api
.AdvanceTime(timeToReadMaxData);
672
Http3Api
.AdvanceTime(TimeSpan.FromSeconds(1));
676
await
Http3Api
.WaitForConnectionErrorAsync<ConnectionAbortedException>(
681
MetricsAssert.Equal(ConnectionEndReason.MinRequestBodyDataRate,
Http3Api
.ConnectionTags);
694
Http3Api
._timeoutControl.Initialize();
696
await
Http3Api
.InitializeConnectionAsync(context =>
703
var inboundControlStream = await
Http3Api
.GetInboundControlStream();
706
Http3Api
.OutboundControlStream = await
Http3Api
.CreateControlStream();
709
var requestStream = await
Http3Api
.CreateRequestStream(ReadRateRequestHeaders(_helloWorldBytes.Length), endStream: false);
717
Http3Api
.AdvanceTime(limits.MinRequestBodyDataRate.GracePeriod);
721
Http3Api
.AdvanceTime(TimeSpan.FromTicks(1));
Http3\WebTransport\WebTransportHandshakeTests.cs (10)
26
await
Http3Api
.InitializeConnectionAsync(async context =>
50
var controlStream = await
Http3Api
.CreateControlStream();
51
var controlStream2 = await
Http3Api
.GetInboundControlStream();
62
await
Http3Api
.ServerReceivedSettingsReader.ReadAsync().DefaultTimeout();
66
var requestStream = await
Http3Api
.CreateRequestStream(new[]
115
await
Http3Api
.InitializeConnectionAsync(_noopApplication);
116
var controlStream = await
Http3Api
.CreateControlStream();
117
var controlStream2 = await
Http3Api
.GetInboundControlStream();
128
await
Http3Api
.ServerReceivedSettingsReader.ReadAsync().DefaultTimeout();
138
var requestStream = await
Http3Api
.CreateRequestStream(headersConnectFrame);
Http3\WebTransport\WebTransportSessionTests.cs (7)
15
Http3Api
._serviceContext.ServerOptions.EnableWebTransportAndH3Datagrams = true;
19
var session = await WebTransportTestUtilities.GenerateSession(
Http3Api
, exitTcs);
36
Http3Api
._serviceContext.ServerOptions.EnableWebTransportAndH3Datagrams = true; // TODO add more sync code as now it is flaky
39
var session = await WebTransportTestUtilities.GenerateSession(
Http3Api
, exitTcs);
71
Http3Api
._serviceContext.ServerOptions.EnableWebTransportAndH3Datagrams = true;
74
var session = await WebTransportTestUtilities.GenerateSession(
Http3Api
, exitTcs);
88
Http3Api
.Connection._streams[session.SessionId].Abort(new(), System.Net.Http.Http3ErrorCode.InternalError);