Roll src/third_party/WebKit eac3800:0237a66 (svn 202606:202607)
[chromium-blink-merge.git] / net / quic / quic_flags.cc
blob08a5f47254b9d26af872fbfd87fb69d7e72be7e6
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.
5 #include "net/quic/quic_flags.h"
7 bool FLAGS_quic_allow_oversized_packets_for_test = false;
9 // When true, the use time based loss detection instead of nack.
10 bool FLAGS_quic_use_time_loss_detection = false;
12 // If true, it will return as soon as an error is detected while validating
13 // CHLO.
14 bool FLAGS_use_early_return_when_verifying_chlo = true;
16 // If true, QUIC connections will support FEC protection of data while sending
17 // packets, to reduce latency of data delivery to the application. The client
18 // must also request FEC protection for the server to use FEC.
19 bool FLAGS_enable_quic_fec = false;
21 // When true, defaults to BBR congestion control instead of Cubic.
22 bool FLAGS_quic_use_bbr_congestion_control = false;
24 // If true, QUIC BBR congestion control may be enabled via Finch and/or via QUIC
25 // connection options.
26 bool FLAGS_quic_allow_bbr = false;
28 // Time period for which a given connection_id should live in the time-wait
29 // state.
30 int64 FLAGS_quic_time_wait_list_seconds = 200;
32 // Currently, this number is quite conservative. The max QPS limit for an
33 // individual server silo is currently set to 1000 qps, though the actual max
34 // that we see in the wild is closer to 450 qps. Regardless, this means that
35 // the longest time-wait list we should see is 200 seconds * 1000 qps = 200000.
36 // Of course, there are usually many queries per QUIC connection, so we allow a
37 // factor of 3 leeway.
39 // Maximum number of connections on the time-wait list. A negative value implies
40 // no configured limit.
41 int64 FLAGS_quic_time_wait_list_max_connections = 600000;
43 // Enables server-side support for QUIC stateless rejects.
44 bool FLAGS_enable_quic_stateless_reject_support = true;
46 // If true, flow controller may grow the receive window size if necessary.
47 bool FLAGS_quic_auto_tune_receive_window = true;
49 // Limits QUIC's max CWND to 200 packets.
50 bool FLAGS_quic_limit_max_cwnd = true;
52 // If true, require handshake confirmation for QUIC connections, functionally
53 // disabling 0-rtt handshakes.
54 // TODO(rtenneti): Enable this flag after fixing tests.
55 bool FLAGS_quic_require_handshake_confirmation = false;
57 // Disables special treatment of truncated acks, since older retransmissions are
58 // proactively discarded in QUIC.
59 bool FLAGS_quic_disable_truncated_ack_handling = true;
61 // If true, after a server silo receives a packet from a migrated QUIC
62 // client, a GO_AWAY frame is sent to the client.
63 bool FLAGS_send_goaway_after_client_migration = true;
65 // Close the connection instead of attempting to write a packet out of sequence
66 // number order.
67 bool FLAGS_quic_close_connection_out_of_order_sending = true;
69 // Allow QUIC packet writer to limit the MTU of the connection.
70 bool FLAGS_quic_limit_mtu_by_writer = true;
72 // QUIC-specific flag. If true, Cubic's epoch is reset when the sender is
73 // application-limited.
74 bool FLAGS_reset_cubic_epoch_when_app_limited = true;
76 // If true, use an interval set as the internal representation of a packet queue
77 // instead of a set.
78 bool FLAGS_quic_packet_queue_use_interval_set = true;