OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // This file intentionally does not have header guards, it's included | 5 // This file intentionally does not have header guards, it's included |
6 // inside a macro to generate values. | 6 // inside a macro to generate values. |
7 | 7 |
8 // This file contains the list of QUIC protocol flags. | 8 // This file contains the list of QUIC protocol flags. |
9 | 9 |
10 // If true, QUIC BBR congestion control may be enabled via Finch and/or via QUIC | 10 // If true, QUIC BBR congestion control may be enabled via Finch and/or via QUIC |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 // frequently used. | 77 // frequently used. |
78 QUIC_FLAG(bool, | 78 QUIC_FLAG(bool, |
79 FLAGS_quic_reloadable_flag_quic_release_crypto_stream_buffer, | 79 FLAGS_quic_reloadable_flag_quic_release_crypto_stream_buffer, |
80 true) | 80 true) |
81 | 81 |
82 // If true, do not override a connection in global map if exists. Only create | 82 // If true, do not override a connection in global map if exists. Only create |
83 // QUIC session if it is successfully inserted to the global map. Toss the | 83 // QUIC session if it is successfully inserted to the global map. Toss the |
84 // packet if insertion fails. | 84 // packet if insertion fails. |
85 QUIC_FLAG(bool, | 85 QUIC_FLAG(bool, |
86 FLAGS_quic_reloadable_flag_quic_create_session_after_insertion, | 86 FLAGS_quic_reloadable_flag_quic_create_session_after_insertion, |
87 false) | 87 true) |
88 | 88 |
89 // If true, v33 QUIC client uses 1 bit to specify 8-byte connection id in | 89 // If true, v33 QUIC client uses 1 bit to specify 8-byte connection id in |
90 // public flag. | 90 // public flag. |
91 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_remove_v33_hacks2, false) | 91 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_remove_v33_hacks2, false) |
92 | 92 |
93 // Enable QUIC force HOL blocking experiment. | 93 // Enable QUIC force HOL blocking experiment. |
94 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_force_hol_blocking, true) | 94 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_force_hol_blocking, true) |
95 | 95 |
96 // If true, allows packets to be buffered in anticipation of a future CHLO, and | 96 // If true, allows packets to be buffered in anticipation of a future CHLO, and |
97 // allow CHLO packets to be buffered until next iteration of the event loop. | 97 // allow CHLO packets to be buffered until next iteration of the event loop. |
(...skipping 22 matching lines...) Expand all Loading... |
120 // Congestion window gain for QUIC BBR during PROBE_BW phase. | 120 // Congestion window gain for QUIC BBR during PROBE_BW phase. |
121 QUIC_FLAG(double, FLAGS_quic_bbr_cwnd_gain, 2.0f) | 121 QUIC_FLAG(double, FLAGS_quic_bbr_cwnd_gain, 2.0f) |
122 | 122 |
123 // If true, do not send or process stop waiting frames in QUIC if the NSTP | 123 // If true, do not send or process stop waiting frames in QUIC if the NSTP |
124 // connection option is provided. | 124 // connection option is provided. |
125 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_no_stop_waiting_frames, false) | 125 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_no_stop_waiting_frames, false) |
126 | 126 |
127 // Allows one self address change. | 127 // Allows one self address change. |
128 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_allow_one_address_change, false) | 128 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_allow_one_address_change, false) |
129 | 129 |
130 // If true, multipath bit is not used in public flag. | |
131 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_remove_multipath_bit, true) | |
132 | |
133 // Allow QUIC's flow control autotuning to increase the window as | |
134 // quickly for the first adjustment as in subsequent ones. | |
135 QUIC_FLAG(bool, | |
136 FLAGS_quic_reloadable_flag_quic_flow_control_faster_autotune, | |
137 true) | |
138 | |
139 // If true, QUIC BBR stores a max filtered number of bytes delivered at a rate | 130 // If true, QUIC BBR stores a max filtered number of bytes delivered at a rate |
140 // faster than the sending rate. | 131 // faster than the sending rate. |
141 QUIC_FLAG(bool, | 132 QUIC_FLAG(bool, |
142 FLAGS_quic_reloadable_flag_quic_bbr_ack_aggregation_bytes, | 133 FLAGS_quic_reloadable_flag_quic_bbr_ack_aggregation_bytes, |
143 false) | 134 false) |
144 | 135 |
145 // If true, allow cubic updates on every ack, rather than occasionally limiting | 136 // If true, allow cubic updates on every ack, rather than occasionally limiting |
146 // the frequency to once every 30ms. | 137 // the frequency to once every 30ms. |
147 QUIC_FLAG(bool, | 138 QUIC_FLAG(bool, |
148 FLAGS_quic_reloadable_flag_quic_enable_cubic_per_ack_updates, | 139 FLAGS_quic_reloadable_flag_quic_enable_cubic_per_ack_updates, |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
193 | 184 |
194 // Threshold multiplier below which delivery is considered slow. | 185 // Threshold multiplier below which delivery is considered slow. |
195 QUIC_FLAG(double, FLAGS_quic_bbr_slow_delivery_threshold_multiplier, 0.5f) | 186 QUIC_FLAG(double, FLAGS_quic_bbr_slow_delivery_threshold_multiplier, 0.5f) |
196 | 187 |
197 // If true, update state if trailing headers with a :final-offset key are | 188 // If true, update state if trailing headers with a :final-offset key are |
198 // received for a previously closed QUIC stream. | 189 // received for a previously closed QUIC stream. |
199 QUIC_FLAG(bool, | 190 QUIC_FLAG(bool, |
200 FLAGS_quic_reloadable_flag_quic_final_offset_from_trailers, | 191 FLAGS_quic_reloadable_flag_quic_final_offset_from_trailers, |
201 false) | 192 false) |
202 | 193 |
203 // Fix the algorithm used by packet conservation. | |
204 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_fix_conservation, false) | |
205 | |
206 // If enabled, use refactored stream creation methods. | 194 // If enabled, use refactored stream creation methods. |
207 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_refactor_stream_creation, false) | 195 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_refactor_stream_creation, false) |
208 | 196 |
209 // A second take on fixing QUIC BBR packet conservation. | 197 // A second take on fixing QUIC BBR packet conservation. |
210 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_fix_conservation2, false) | 198 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_fix_conservation2, false) |
211 | 199 |
212 // If true, GFEs generate and validate source address token using the actual | 200 // If true, GFEs generate and validate source address token using the actual |
213 // client IP for proxied session. | 201 // client IP for proxied session. |
214 QUIC_FLAG(bool, | 202 QUIC_FLAG(bool, |
215 FLAGS_quic_reloadable_flag_quic_use_client_address_for_stk_in_proxy, | 203 FLAGS_quic_reloadable_flag_quic_use_client_address_for_stk_in_proxy, |
216 false) | 204 false) |
217 | 205 |
218 // If true, export a varz mapping QUIC non 0-rtt handshake with corresponding | 206 // If true, export a varz mapping QUIC non 0-rtt handshake with corresponding |
219 // frontend service. | 207 // frontend service. |
220 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_account_handshake, false) | 208 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_account_handshake, false) |
221 | 209 |
222 // Allows the 3RTO QUIC connection option to close a QUIC connection after | 210 // Allows the 3RTO QUIC connection option to close a QUIC connection after |
223 // 3RTOs if there are no open streams. | 211 // 3RTOs if there are no open streams. |
224 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_3rtos, false) | 212 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_3rtos, false) |
225 | 213 |
226 // If true, enable experiment for testing PCC congestion-control. | 214 // If true, enable experiment for testing PCC congestion-control. |
227 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_pcc, false) | 215 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_pcc, false) |
228 | 216 |
229 // If true, enable QUIC v40. | 217 // If true, enable QUIC v40. |
230 QUIC_FLAG(bool, FLAGS_quic_enable_version_40, false) | 218 QUIC_FLAG(bool, FLAGS_quic_enable_version_40, false) |
| 219 |
| 220 // If true, use the more CPU efficient bandwidth sampler datastructure. |
| 221 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_faster_bandwidth_sampler, false) |
OLD | NEW |