blob: e4514cb6b92043004663ce5ae4d6886e7a017bfd [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "net/quic/quic_flags.h"
bool FLAGS_quic_allow_oversized_packets_for_test = false;
// When true, the use time based loss detection instead of nack.
bool FLAGS_quic_use_time_loss_detection = false;
// If true, it will return as soon as an error is detected while validating
// CHLO.
bool FLAGS_use_early_return_when_verifying_chlo = true;
// If true, QUIC connections will support FEC protection of data while sending
// packets, to reduce latency of data delivery to the application. The client
// must also request FEC protection for the server to use FEC.
bool FLAGS_enable_quic_fec = false;
// When true, defaults to BBR congestion control instead of Cubic.
bool FLAGS_quic_use_bbr_congestion_control = false;
// If true, QUIC BBR congestion control may be enabled via Finch and/or via QUIC
// connection options.
bool FLAGS_quic_allow_bbr = false;
// Do not flip this flag. jokulik plans more testing and additional monitoring
// before the flag can go the auto-flip process.
//
// If true, record the timestamp for the last sent new packet before the call to
// WritePacket, rather than after in QUIC.
bool FLAGS_quic_record_send_time_before_write = false;
// If true, enables the QUIC bandwidth resumption experiment (triggered by
// Chrome/Finch).
bool FLAGS_quic_enable_bandwidth_resumption_experiment = true;
// If true, QUIC congestion control will be paced. If false, pacing may be
// controlled by QUIC connection options in the config or by enabling BBR
// congestion control.
bool FLAGS_quic_enable_pacing = true;
// If true, then the source address tokens generated for QUIC connects will
// store multiple addresses.
bool FLAGS_quic_use_multiple_address_in_source_tokens = false;
// If true, uses the last sent packet for the RTO timer instead of the earliest.
bool FLAGS_quic_rto_uses_last_sent = true;
// If true, attach QuicAckNotifiers to packets rather than individual stream
// frames.
bool FLAGS_quic_attach_ack_notifiers_to_packets = true;
// If true, QUIC will use the new RTO that waits until an ack arrives to adjust
// the congestion window.
bool FLAGS_quic_use_new_rto = true;
// Time period for which a given connection_id should live in the time-wait
// state.
int64 FLAGS_quic_time_wait_list_seconds = 5;
// Currently, this number is quite conservative. The max QPS limit for an
// individual server silo is currently set to 1000 qps, though the actual max
// that we see in the wild is closer to 450 qps. Regardless, this means that the
// longest time-wait list we should see is 5 seconds * 1000 qps = 5000. If we
// allow for an order of magnitude leeway, we have 50000.
//
// Maximum number of connections on the time-wait list. A negative value implies
// no configured limit.
int64 FLAGS_quic_time_wait_list_max_connections = 50000;
// If true, limit the number of connections on the quic time-wait list using a
// flag.
bool FLAGS_quic_limit_time_wait_list_size = true;
// Use small QUIC packet sizes by default.
bool FLAGS_quic_small_default_packet_size = true;