| // Copyright (c) 2021 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. | |
| // This file is autogenerated by the QUICHE Copybara export script. | |
| #ifdef QUIC_FLAG | |
| QUIC_FLAG(FLAGS_quic_restart_flag_quic_offload_pacing_to_usps2, false) | |
| // A testonly reloadable flag that will always default to false. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_testonly_default_false, false) | |
| // A testonly reloadable flag that will always default to true. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_testonly_default_true, true) | |
| // A testonly restart flag that will always default to false. | |
| QUIC_FLAG(FLAGS_quic_restart_flag_quic_testonly_default_false, false) | |
| // A testonly restart flag that will always default to true. | |
| QUIC_FLAG(FLAGS_quic_restart_flag_quic_testonly_default_true, true) | |
| // If bytes in flight has dipped below 1.25*MaxBW in the last round, do not exit PROBE_UP due to excess queue buildup. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr2_no_probe_up_exit_if_no_queue, true) | |
| // If true and connection option B201 is used, check if cwnd limited before aggregation epoch, instead of ack event, in PROBE_UP phase. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr2_check_cwnd_limited_before_aggregation_epoch, true) | |
| // If true, QPACK decoder rejects CR, LF, and NULL in field (header) values, and causes the stream to be reset with H3_MESSAGE_ERROR. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_reject_invalid_chars_in_field_value, true) | |
| // If true, QUIC will default enable MTU discovery at server, with a target of 1450 bytes. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_enable_mtu_discovery_at_server, false) | |
| // If true, QUIC won\'t honor the connection option TLPR | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_deprecate_tlpr, true) | |
| // If true, QuicGsoBatchWriter will support release time if it is available and the process has the permission to do so. | |
| QUIC_FLAG(FLAGS_quic_restart_flag_quic_support_release_time_for_gso, false) | |
| // If true, abort async QPACK header decompression in QuicSpdyStream::Reset() and in QuicSpdyStream::OnStreamReset(). | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_abort_qpack_on_stream_reset, true) | |
| // If true, accept empty crypto frame. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_accept_empty_crypto_frame, false) | |
| // If true, ack frequency frame can be sent from server to client. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_can_send_ack_frequency, true) | |
| // If true, allow client to enable BBRv2 on server via connection option \'B2ON\'. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_allow_client_enabled_bbr_v2, false) | |
| // If true, always starts a new ack aggregation epoch if a full round has passed since the start of the current epoch. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr_start_new_aggregation_epoch_after_a_full_round, true) | |
| // If true, change QuicCryptoServerStream::FinishProcessingHandshakeMessageAfterProcessClientHello to noop if connection is disconnected. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_crypto_noop_if_disconnected_after_process_chlo, true) | |
| // If true, clear undecryptable packets on handshake complete. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_clear_undecryptable_packets_on_handshake_complete, true) | |
| // If true, close read side but not write side in QuicSpdyStream::OnStreamReset(). | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_fix_on_stream_reset, true) | |
| // If true, default on PTO which unifies TLP + RTO loss recovery. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_default_on_pto, false) | |
| // If true, default-enable 5RTO blachole detection. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_default_enable_5rto_blackhole_detection2, true) | |
| // If true, delay block allocation in QuicStreamSequencerBuffer until there is actually new data available. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_delay_sequencer_buffer_allocation_until_new_data, false) | |
| // If true, disable QUIC version Q043. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_disable_version_q043, false) | |
| // If true, disable QUIC version Q046. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_disable_version_q046, false) | |
| // If true, disable QUIC version Q050. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_disable_version_q050, false) | |
| // If true, disable QUIC version h3 (RFCv1). | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_disable_version_rfcv1, false) | |
| // If true, disable QUIC version h3-29. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_disable_version_draft_29, false) | |
| // If true, disable QUIC version h3-T051. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_disable_version_t051, true) | |
| // If true, disable blackhole detection on server side. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_disable_server_blackhole_detection, false) | |
| // If true, disable reverse path validation for Apple mobile clients. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_disable_reverse_path_validation_for_apple_mobile, false) | |
| // If true, discard INITIAL packet if the key has been dropped. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_discard_initial_packet_with_key_dropped, true) | |
| // If true, do not bundle 2nd ACK with connection close if there is an ACK queued. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_single_ack_in_packet2, false) | |
| // If true, do not count bytes sent/received on the alternative path into the bytes sent/received on the default path. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_count_bytes_on_alternative_path_seperately, true) | |
| // If true, do not re-arm PTO while sending application data during handshake. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_donot_rearm_pto_on_application_data_during_handshake, true) | |
| // If true, do not use the gQUIC common certificate set for certificate compression. | |
| QUIC_FLAG(FLAGS_quic_restart_flag_quic_no_common_cert_set, false) | |
| // If true, drop unsent PATH_RESPONSEs and rely on peer\'s retry. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_drop_unsent_path_response, true) | |
| // If true, enable server retransmittable on wire PING. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_enable_server_on_wire_ping, true) | |
| // If true, flush pending frames as well as pending padding bytes on connection migration. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_flush_pending_frames_and_padding_bytes_on_migration, true) | |
| // If true, ietf connection migration is no longer conditioned on connection option RVCM. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_remove_connection_migration_connection_option, true) | |
| // If true, ignore peer_max_ack_delay during handshake. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_ignore_peer_max_ack_delay_during_handshake, true) | |
| // If true, include stream information in idle timeout connection close detail. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_add_stream_info_to_idle_close_detail, true) | |
| // If true, pass the received PATH_RESPONSE payload to path validator to move forward the path validation. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_pass_path_response_to_validator, true) | |
| // If true, quic dispatcher supports one connection to use multiple connection IDs. | |
| QUIC_FLAG(FLAGS_quic_restart_flag_quic_dispatcher_support_multiple_cid_per_connection_v2, true) | |
| // If true, quic server will send ENABLE_CONNECT_PROTOCOL setting and and endpoint will validate required request/response headers and extended CONNECT mechanism. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_verify_request_headers, false) | |
| // If true, record addresses that server has sent reset to recently, and do not send reset if the address lives in the set. | |
| QUIC_FLAG(FLAGS_quic_restart_flag_quic_use_recent_reset_addresses, true) | |
| // If true, refactor how QUIC TLS server disables resumption. No behavior change. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_tls_disable_resumption_refactor, true) | |
| // If true, require handshake confirmation for QUIC connections, functionally disabling 0-rtt handshakes. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_require_handshake_confirmation, false) | |
| // If true, reset per packet state before processing undecryptable packets. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_reset_per_packet_state_for_undecryptable_packets, true) | |
| // If true, restore connection context in various callbacks in TlsServerHandshaker. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_tls_restore_connection_context_in_callbacks, true) | |
| // If true, send PATH_RESPONSE upon receiving PATH_CHALLENGE regardless of perspective. --gfe2_reloadable_flag_quic_start_peer_migration_earlier has to be true before turn on this flag. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_send_path_response2, true) | |
| // If true, set burst token to 2 in cwnd bootstrapping experiment. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_conservative_bursts, false) | |
| // If true, stop resetting ideal_next_packet_send_time_ in pacing sender. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_donot_reset_ideal_next_packet_send_time, false) | |
| // If true, suppress crypto data write in mid of packet processing. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_suppress_write_mid_packet_processing, true) | |
| // If true, use BBRv2 as the default congestion controller. Takes precedence over --quic_default_to_bbr. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_default_to_bbr_v2, false) | |
| // If true, use max(max_bw, send_rate) as the estimated bandwidth in QUIC\'s MaxAckHeightTracker. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr_use_send_rate_in_max_ack_height_tracker, true) | |
| // If true, use new connection ID in connection migration. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_connection_migration_use_new_cid_v2, true) | |
| // If true, uses conservative cwnd gain and pacing gain when cwnd gets bootstrapped. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_conservative_cwnd_and_pacing_gains, false) | |
| // If true, validate that peer owns the new address once the server detects peer migration or is probed from that address, and also apply anti-amplification limit while sending to that address. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_server_reverse_validate_new_path3, true) | |
| // When receiving STOP_SENDING, send a RESET_STREAM with a matching error code. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_match_ietf_reset_code, false) | |
| // When the flag is true, exit STARTUP after the same number of loss events as PROBE_UP. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr2_startup_probe_up_loss_events, true) | |
| // When true, QUIC server will ignore received key_update_not_yet_supported transport parameter. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_ignore_key_update_not_yet_supported, false) | |
| // When true, QUIC server will ignore received user agent transport parameter and rely on getting that information from HTTP headers. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_ignore_user_agent_transport_parameter, false) | |
| // When true, QuicDispatcher will silently drop incoming packets whose UDP source port is on the blocklist. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_blocked_ports, true) | |
| // When true, defaults to BBR congestion control instead of Cubic. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_default_to_bbr, false) | |
| // When true, prevents QUIC\'s PacingSender from generating bursts when the congestion controller is CWND limited and not pacing limited. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_fix_pacing_sender_bursts, false) | |
| // When true, set the initial congestion control window from connection options in QuicSentPacketManager rather than TcpCubicSenderBytes. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_unified_iw_options, true) | |
| // When true, the B203 connection option causes the Bbr2Sender to ignore inflight_hi during PROBE_UP and increase it when the bytes delivered without loss are higher. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr2_ignore_inflight_hi_in_probe_up, true) | |
| // When true, the B205 connection option enables extra acked in STARTUP, and B204 adds new logic to decrease it whenever max bandwidth increases. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr2_startup_extra_acked, true) | |
| // When true, the B207 connection option causes BBR2 to exit STARTUP if a persistent queue of 2*BDP has existed for the entire round. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr2_exit_startup_on_persistent_queue2, true) | |
| // When true, the BBQ0 connection option causes QUIC BBR2 to add bytes_acked to probe_up_acked if the connection hasn\'t been app-limited since inflight_hi was utilized. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr2_add_bytes_acked_after_inflight_hi_limited, true) | |
| // When true, the BBR4 copt sets the extra_acked window to 20 RTTs and BBR5 sets it to 40 RTTs. | |
| QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr2_extra_acked_window, true) | |
| #endif | |