Repository navigation
Commit b9ffdcb
committed
WebTransport: add anticipatedConcurrentIncomingUni/BidirectionalStreams support
The spec lets an application supply, at session construction, how
many incoming streams of each type it expects the peer to open
concurrently, so the transport can grant that much headroom up front
rather than only after the peer bumps into the default limit and
waits a round trip for MAX_STREAMS.
webtransport_set_anticipated_incoming_{uni,bidi}_streams stores the
per-session value and recomputes the connection-wide total across
every not-yet-closed WebTransport session, clamped to
MAX_ANTICIPATED_INCOMING_STREAMS so an application cannot ratchet the
advertised limit arbitrarily high (it is monotonic and never comes
back down as sessions close). The unidirectional total also adds
HTTP3_UNI_CONTROL_STREAMS, since HTTP/3's own control and QPACK
streams draw from the same limit. Closed sessions are excluded from
the sum; sessions still negotiating are included, since that is
exactly when the API supplies this value.
Client-only: the anticipated-streams attributes are on the
WebTransport interface, which has no server-side equivalent.1 parent c7a0cd2 commit b9ffdcb
6 files changed
Lines changed: 600 additions & 1 deletion
File tree
- neqo-http3/src
- features/extended_connect
- tests/webtransport
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
54 | 67 | | |
55 | 68 | | |
56 | 69 | | |
| |||
1437 | 1450 | | |
1438 | 1451 | | |
1439 | 1452 | | |
| 1453 | + | |
| 1454 | + | |
| 1455 | + | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
| 1459 | + | |
| 1460 | + | |
| 1461 | + | |
| 1462 | + | |
| 1463 | + | |
| 1464 | + | |
| 1465 | + | |
| 1466 | + | |
| 1467 | + | |
| 1468 | + | |
| 1469 | + | |
| 1470 | + | |
| 1471 | + | |
| 1472 | + | |
| 1473 | + | |
| 1474 | + | |
| 1475 | + | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
| 1491 | + | |
| 1492 | + | |
| 1493 | + | |
| 1494 | + | |
| 1495 | + | |
| 1496 | + | |
| 1497 | + | |
| 1498 | + | |
1440 | 1499 | | |
1441 | 1500 | | |
1442 | 1501 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| |||
68 | 69 | | |
69 | 70 | | |
70 | 71 | | |
| 72 | + | |
| 73 | + | |
71 | 74 | | |
72 | 75 | | |
73 | 76 | | |
| |||
128 | 131 | | |
129 | 132 | | |
130 | 133 | | |
| 134 | + | |
| 135 | + | |
131 | 136 | | |
132 | 137 | | |
133 | 138 | | |
| |||
159 | 164 | | |
160 | 165 | | |
161 | 166 | | |
| 167 | + | |
| 168 | + | |
162 | 169 | | |
163 | 170 | | |
164 | 171 | | |
| |||
172 | 179 | | |
173 | 180 | | |
174 | 181 | | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
175 | 197 | | |
176 | 198 | | |
177 | 199 | | |
| |||
361 | 383 | | |
362 | 384 | | |
363 | 385 | | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
364 | 391 | | |
365 | 392 | | |
366 | 393 | | |
| |||
0 commit comments