| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/quic/quic_flags.h" | 5 #include "net/quic/quic_flags.h" |
| 6 | 6 |
| 7 bool FLAGS_quic_allow_oversized_packets_for_test = false; | 7 bool FLAGS_quic_allow_oversized_packets_for_test = false; |
| 8 | 8 |
| 9 // When true, the use time based loss detection instead of nack. | 9 // When true, the use time based loss detection instead of nack. |
| 10 bool FLAGS_quic_use_time_loss_detection = false; | 10 bool FLAGS_quic_use_time_loss_detection = false; |
| 11 | 11 |
| 12 // If true, it will return as soon as an error is detected while validating | 12 // If true, it will return as soon as an error is detected while validating |
| 13 // CHLO. | 13 // CHLO. |
| 14 bool FLAGS_use_early_return_when_verifying_chlo = true; | 14 bool FLAGS_use_early_return_when_verifying_chlo = true; |
| 15 | 15 |
| 16 // If true, QUIC connections will support FEC protection of data while sending | 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 | 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. | 18 // must also request FEC protection for the server to use FEC. |
| 19 bool FLAGS_enable_quic_fec = false; | 19 bool FLAGS_enable_quic_fec = false; |
| 20 | 20 |
| 21 // When true, defaults to BBR congestion control instead of Cubic. | 21 // When true, defaults to BBR congestion control instead of Cubic. |
| 22 bool FLAGS_quic_use_bbr_congestion_control = false; | 22 bool FLAGS_quic_use_bbr_congestion_control = false; |
| 23 | 23 |
| 24 // If true, QUIC BBR congestion control may be enabled via Finch and/or via QUIC | 24 // If true, QUIC BBR congestion control may be enabled via Finch and/or via QUIC |
| 25 // connection options. | 25 // connection options. |
| 26 bool FLAGS_quic_allow_bbr = false; | 26 bool FLAGS_quic_allow_bbr = false; |
| 27 | 27 |
| 28 // Do not flip this flag. jokulik plans more testing and additional monitoring | |
| 29 // before the flag can go the auto-flip process. | |
| 30 // | |
| 31 // If true, record the timestamp for the last sent new packet before the call to | |
| 32 // WritePacket, rather than after in QUIC. | |
| 33 bool FLAGS_quic_record_send_time_before_write = false; | |
| 34 | |
| 35 // If true, enables the QUIC bandwidth resumption experiment (triggered by | 28 // If true, enables the QUIC bandwidth resumption experiment (triggered by |
| 36 // Chrome/Finch). | 29 // Chrome/Finch). |
| 37 bool FLAGS_quic_enable_bandwidth_resumption_experiment = true; | 30 bool FLAGS_quic_enable_bandwidth_resumption_experiment = true; |
| 38 | 31 |
| 39 // If true, QUIC congestion control will be paced. If false, pacing may be | 32 // If true, QUIC congestion control will be paced. If false, pacing may be |
| 40 // controlled by QUIC connection options in the config or by enabling BBR | 33 // controlled by QUIC connection options in the config or by enabling BBR |
| 41 // congestion control. | 34 // congestion control. |
| 42 bool FLAGS_quic_enable_pacing = true; | 35 bool FLAGS_quic_enable_pacing = true; |
| 43 | 36 |
| 44 // If true, then the source address tokens generated for QUIC connects will | 37 // If true, then the source address tokens generated for QUIC connects will |
| 45 // store multiple addresses. | 38 // store multiple addresses. |
| 46 bool FLAGS_quic_use_multiple_address_in_source_tokens = false; | 39 bool FLAGS_quic_use_multiple_address_in_source_tokens = false; |
| 47 | 40 |
| 48 // If true, attach QuicAckNotifiers to packets rather than individual stream | |
| 49 // frames. | |
| 50 bool FLAGS_quic_attach_ack_notifiers_to_packets = true; | |
| 51 | |
| 52 // Time period for which a given connection_id should live in the time-wait | 41 // Time period for which a given connection_id should live in the time-wait |
| 53 // state. | 42 // state. |
| 54 int64 FLAGS_quic_time_wait_list_seconds = 5; | 43 int64 FLAGS_quic_time_wait_list_seconds = 5; |
| 55 | 44 |
| 56 // Currently, this number is quite conservative. The max QPS limit for an | 45 // Currently, this number is quite conservative. The max QPS limit for an |
| 57 // individual server silo is currently set to 1000 qps, though the actual max | 46 // individual server silo is currently set to 1000 qps, though the actual max |
| 58 // that we see in the wild is closer to 450 qps. Regardless, this means that the | 47 // that we see in the wild is closer to 450 qps. Regardless, this means that the |
| 59 // longest time-wait list we should see is 5 seconds * 1000 qps = 5000. If we | 48 // longest time-wait list we should see is 5 seconds * 1000 qps = 5000. If we |
| 60 // allow for an order of magnitude leeway, we have 50000. | 49 // allow for an order of magnitude leeway, we have 50000. |
| 61 // | 50 // |
| 62 // Maximum number of connections on the time-wait list. A negative value implies | 51 // Maximum number of connections on the time-wait list. A negative value implies |
| 63 // no configured limit. | 52 // no configured limit. |
| 64 int64 FLAGS_quic_time_wait_list_max_connections = 50000; | 53 int64 FLAGS_quic_time_wait_list_max_connections = 50000; |
| 65 | 54 |
| 66 // If true, limit the number of connections on the quic time-wait list using a | 55 // If true, limit the number of connections on the quic time-wait list using a |
| 67 // flag. | 56 // flag. |
| 68 bool FLAGS_quic_limit_time_wait_list_size = true; | 57 bool FLAGS_quic_limit_time_wait_list_size = true; |
| 69 | 58 |
| 70 // Use small QUIC packet sizes by default. | 59 // Use small QUIC packet sizes by default. |
| 71 bool FLAGS_quic_small_default_packet_size = true; | 60 bool FLAGS_quic_small_default_packet_size = true; |
| OLD | NEW |