You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| Flow Control Window | uint32_t | ConnFlowControlWindow | 16,777,216 | Connection-wide flow control window. |
37
40
| Max Stateless Operations | uint32_t | MaxStatelessOperations | 16 | The maximum number of stateless operations that may be queued on a worker at any one time. |
Copy file name to clipboardExpand all lines: docs/api/QUIC_SETTINGS.md
+49-3Lines changed: 49 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,7 +45,18 @@ typedef struct QUIC_SETTINGS {
45
45
uint64_t DestCidUpdateIdleTimeoutMs : 1;
46
46
uint64_t GreaseQuicBitEnabled : 1;
47
47
uint64_t EcnEnabled : 1;
48
-
uint64_t RESERVED : 30;
48
+
uint64_t HyStartEnabled : 1;
49
+
uint64_t StreamRecvWindowBidiLocalDefault : 1;
50
+
uint64_t StreamRecvWindowBidiRemoteDefault : 1;
51
+
uint64_t StreamRecvWindowUnidiDefault : 1;
52
+
#ifdef QUIC_API_ENABLE_PREVIEW_FEATURES
53
+
uint64_t EncryptionOffloadAllowed : 1;
54
+
uint64_t ReliableResetEnabled : 1;
55
+
uint64_t OneWayDelayEnabled : 1;
56
+
uint64_t RESERVED : 23;
57
+
#else
58
+
uint64_t RESERVED : 26;
59
+
#endif
49
60
} IsSet;
50
61
};
51
62
@@ -83,6 +94,23 @@ typedef struct QUIC_SETTINGS {
83
94
uint8_t MaxOperationsPerDrain;
84
95
uint8_t MtuDiscoveryMissingProbeCount;
85
96
uint32_t DestCidUpdateIdleTimeoutMs;
97
+
union {
98
+
uint64_t Flags;
99
+
struct {
100
+
uint64_t HyStartEnabled : 1;
101
+
#ifdef QUIC_API_ENABLE_PREVIEW_FEATURES
102
+
uint64_t EncryptionOffloadAllowed : 1;
103
+
uint64_t ReliableResetEnabled : 1;
104
+
uint64_t OneWayDelayEnabled : 1;
105
+
uint64_t ReservedFlags : 60;
106
+
#else
107
+
uint64_t ReservedFlags : 63;
108
+
#endif
109
+
};
110
+
};
111
+
uint32_t StreamRecvWindowBidiLocalDefault;
112
+
uint32_t StreamRecvWindowBidiRemoteDefault;
113
+
uint32_t StreamRecvWindowUnidiDefault;
86
114
87
115
} QUIC_SETTINGS;
88
116
```
@@ -125,9 +153,9 @@ How much server TLS data to buffer. If the application expects very large serve
125
153
126
154
`StreamRecvWindowDefault`
127
155
128
-
Initial stream receive window size.
156
+
Initial stream receive flow control window size. This applies to all stream types. Limits for specific stream types can be set using `StreamRecvWindowBidirLocalDefault`, `StreamRecvWindowBidirRemoteDefault` and `StreamRecvWindowUnidirDefault`. The value must be a power of 2.
129
157
130
-
**Default value:**32,768
158
+
**Default value:**65,536
131
159
132
160
`StreamRecvBufferDefault`
133
161
@@ -303,6 +331,24 @@ Enable sender-side ECN support. The connection will validate and react to ECN fe
303
331
304
332
**Default value:** 0 (`FALSE`)
305
333
334
+
`StreamRecvWindowBidirLocalDefault`
335
+
336
+
Initial stream receive flow control window size for locally initiated bidirectional streams. If set, this value overwrites the `StreamRecvWindowDefault`.
337
+
338
+
**Default value:** 0 (no overwrite)
339
+
340
+
`StreamRecvWindowBidirRemoteDefault`
341
+
342
+
Initial stream receive flow control window size for remotely initiated bidirectional streams. If set, this value overwrites the `StreamRecvWindowDefault`.
343
+
344
+
**Default value:** 0 (no overwrite)
345
+
346
+
`StreamRecvWindowUnidiDefault`
347
+
348
+
Initial stream receive flow control window size for remotely initiated unidirectional streams. If set, this value overwrites the `StreamRecvWindowDefault`.
349
+
350
+
**Default value:** 0 (no overwrite)
351
+
306
352
# Remarks
307
353
308
354
When setting new values for the settings, the app must set the corresponding `.IsSet.*` parameter for each actual parameter that is being set or updated. For example:
0 commit comments