| 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 |