OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "net/quic/quic_flags.h" | |
6 | |
7 // If true, it will return as soon as an error is detected while validating | |
8 // CHLO. | |
9 bool FLAGS_use_early_return_when_verifying_chlo = true; | |
10 | |
11 // If true, QUIC BBR congestion control may be enabled via Finch and/or via QUIC | |
12 // connection options. | |
13 bool FLAGS_quic_allow_bbr = false; | |
14 | |
15 // Time period for which a given connection_id should live in the time-wait | |
16 // state. | |
17 int64_t FLAGS_quic_time_wait_list_seconds = 200; | |
18 | |
19 // Currently, this number is quite conservative. The max QPS limit for an | |
20 // individual server silo is currently set to 1000 qps, though the actual max | |
21 // that we see in the wild is closer to 450 qps. Regardless, this means that | |
22 // the longest time-wait list we should see is 200 seconds * 1000 qps = 200000. | |
23 // Of course, there are usually many queries per QUIC connection, so we allow a | |
24 // factor of 3 leeway. | |
25 // | |
26 // Maximum number of connections on the time-wait list. A negative value implies | |
27 // no configured limit. | |
28 int64_t FLAGS_quic_time_wait_list_max_connections = 600000; | |
29 | |
30 // Enables server-side support for QUIC stateless rejects. | |
31 bool FLAGS_enable_quic_stateless_reject_support = true; | |
32 | |
33 // This flag is not in use, just to keep consistency for shared code. | |
34 bool FLAGS_quic_always_log_bugs_for_tests = true; | |
35 | |
36 // If true, a QUIC connection option with tag DHDT can be used to disable | |
37 // HPACK\'s dynamic table. | |
38 bool FLAGS_quic_disable_hpack_dynamic_table = true; | |
39 | |
40 // If true, multipath is enabled for the connection. | |
41 bool FLAGS_quic_enable_multipath = false; | |
42 | |
43 // If true, require handshake confirmation for QUIC connections, functionally | |
44 // disabling 0-rtt handshakes. | |
45 // TODO(rtenneti): Enable this flag after CryptoServerTest's are fixed. | |
46 bool FLAGS_quic_require_handshake_confirmation = false; | |
47 | |
48 // If true, Cubic's epoch is shifted when the sender is application-limited. | |
49 bool FLAGS_shift_quic_cubic_epoch_when_app_limited = true; | |
50 | |
51 // If true, QUIC will measure head of line (HOL) blocking due between | |
52 // streams due to packet losses on the headers stream. The | |
53 // measurements will be surfaced via UMA histogram | |
54 // Net.QuicSession.HeadersHOLBlockedTime. | |
55 bool FLAGS_quic_measure_headers_hol_blocking_time = true; | |
56 | |
57 // If true, disable pacing in QUIC. | |
58 bool FLAGS_quic_disable_pacing_for_perf_tests = false; | |
59 | |
60 // If true, Close the connection instead of writing unencrypted stream data. | |
61 bool FLAGS_quic_never_write_unencrypted_data = true; | |
62 | |
63 // If true, headers stream will support receiving PUSH_PROMISE frames. | |
64 bool FLAGS_quic_supports_push_promise = true; | |
65 | |
66 // If true, QUIC connections can do bandwidth resumption with an initial window | |
67 // of < 10 packets. | |
68 bool FLAGS_quic_no_lower_bw_resumption_limit = true; | |
69 | |
70 // Use largest acked in the most recent ack instead of largest acked ever in | |
71 // loss recovery. | |
72 bool FLAGS_quic_loss_recovery_use_largest_acked = true; | |
73 | |
74 // Only set one alarm for sending at once, either the send alarm or | |
75 // retransmission alarm. Disabled because it breaks QUIC time loss detection. | |
76 bool FLAGS_quic_only_one_sending_alarm = false; | |
77 | |
78 // If true, QUIC public reset packets will have the \"pre-v33\" public header | |
79 // flags. | |
80 bool FLAGS_quic_use_old_public_reset_packets = true; | |
81 | |
82 // If true, ignore QUIC data frames of length 0 for flow control. | |
83 bool FLAGS_quic_ignore_zero_length_frames = true; | |
84 | |
85 // If true, replace ServerHelloNotifier with a check to see if a decrypted | |
86 // packet is forward secure. | |
87 bool FLAGS_quic_no_shlo_listener = true; | |
88 | |
89 // Adds a RATE connection option to do rate based sending. | |
90 bool FLAGS_quic_rate_based_sending = true; | |
91 | |
92 // If true, QUIC will use cheap stateless rejects without creating a full | |
93 // connection. | |
94 bool FLAGS_quic_use_cheap_stateless_rejects = false; | |
95 | |
96 // If true, treat timestamps from SO_TIMESTAMPING as QuicWallTimes rather | |
97 // than QuicTimes. | |
98 bool FLAGS_quic_socket_walltimestamps = true; | |
99 | |
100 // If true, QUIC respect HTTP2 SETTINGS frame rather than always close the | |
101 // connection. | |
102 bool FLAGS_quic_respect_http2_settings_frame = true; | |
103 | |
104 // Do not use a QuicAckListener in order to confirm a larger Path MTU. | |
105 bool FLAGS_quic_no_mtu_discovery_ack_listener = true; | |
106 | |
107 // Deprecate QuicPacketCreator::next_packet_number_length_ because it's no | |
108 // longer necessary. | |
109 bool FLAGS_quic_simple_packet_number_length = true; | |
110 | |
111 // If true, enables QUIC_VERSION_35. | |
112 bool FLAGS_quic_enable_version_35 = true; | |
113 | |
114 // If true, enables QUIC_VERSION_36. | |
115 bool FLAGS_quic_enable_version_36 = true; | |
116 | |
117 // If true, requires support for X509 certificates in QUIC CHLO PDMDs. | |
118 bool FLAGS_quic_require_x509 = true; | |
119 | |
120 // If true, deprecate safeguards for b/26023400. | |
121 bool FLAGS_quic_deprecate_kfixd = false; | |
122 | |
123 // If true, QUIC will refresh the proof for versions 31 and beyond on subsequent | |
124 // CHLOs. | |
125 bool FLAGS_quic_refresh_proof = true; | |
126 | |
127 // If true, a connection does not migrate on an old packet even the peer address | |
128 // changes. | |
129 bool FLAGS_quic_do_not_migrate_on_old_packet = true; | |
130 | |
131 // If true, use async codepaths to invoke ProofSource::GetProof. | |
132 bool FLAGS_enable_async_get_proof = false; | |
133 | |
134 // If true, neuter null encrypted packets before sending the next handshake | |
135 // message. | |
136 bool FLAGS_quic_neuter_unencrypted_when_sending = false; | |
137 | |
138 // If true, QuicAlarm::Update will call a faster UpdateImpl implementation | |
139 // instead of canceling and reregistering the alarm. | |
140 bool FLAGS_quic_change_alarms_efficiently = false; | |
141 | |
142 // If true, requires handshake confirmations for all QUIC handshakes with | |
143 // versions less than 33. | |
144 bool FLAGS_quic_require_handshake_confirmation_pre33 = false; | |
145 | |
146 // If true, use the interval form of iteration over a PacketNumberQueue instead | |
147 // of iterating over the individual numbers. | |
148 bool FLAGS_quic_use_packet_number_queue_intervals = false; | |
OLD | NEW |