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; |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 | 51 |
52 // If true, require handshake confirmation for QUIC connections, functionally | 52 // If true, require handshake confirmation for QUIC connections, functionally |
53 // disabling 0-rtt handshakes. | 53 // disabling 0-rtt handshakes. |
54 // TODO(rtenneti): Enable this flag after CryptoServerTest's are fixed. | 54 // TODO(rtenneti): Enable this flag after CryptoServerTest's are fixed. |
55 bool FLAGS_quic_require_handshake_confirmation = false; | 55 bool FLAGS_quic_require_handshake_confirmation = false; |
56 | 56 |
57 // If true, after a server silo receives a packet from a migrated QUIC | 57 // If true, after a server silo receives a packet from a migrated QUIC |
58 // client, a GO_AWAY frame is sent to the client. | 58 // client, a GO_AWAY frame is sent to the client. |
59 bool FLAGS_send_goaway_after_client_migration = true; | 59 bool FLAGS_send_goaway_after_client_migration = true; |
60 | 60 |
61 // QUIC-specific flag. If true, Cubic's epoch is reset when the sender is | |
62 // application-limited. | |
63 bool FLAGS_reset_cubic_epoch_when_app_limited = true; | |
64 | |
65 // If true, use an interval set as the internal representation of a packet queue | 61 // If true, use an interval set as the internal representation of a packet queue |
66 // instead of a set. | 62 // instead of a set. |
67 bool FLAGS_quic_packet_queue_use_interval_set = true; | 63 bool FLAGS_quic_packet_queue_use_interval_set = true; |
68 | 64 |
69 // If true, Cubic's epoch is shifted when the sender is application-limited. | 65 // If true, Cubic's epoch is shifted when the sender is application-limited. |
70 bool FLAGS_shift_quic_cubic_epoch_when_app_limited = true; | 66 bool FLAGS_shift_quic_cubic_epoch_when_app_limited = true; |
71 | 67 |
72 // If true, accounts for available (implicitly opened) streams under a separate | 68 // If true, accounts for available (implicitly opened) streams under a separate |
73 // quota from open streams, which is 10 times larger. | 69 // quota from open streams, which is 10 times larger. |
74 bool FLAGS_allow_many_available_streams = true; | 70 bool FLAGS_allow_many_available_streams = true; |
75 | 71 |
76 // If true, QuicPacketReader::ReadAndDispatchPackets will only return true if | |
77 // recvmmsg fills all of the passed in messages. Otherwise, it will return true | |
78 // if recvmmsg read any messages. | |
79 bool FLAGS_quic_read_packets_full_recvmmsg = true; | |
80 | |
81 // If true, QUIC will measure head of line (HOL) blocking due between | 72 // If true, QUIC will measure head of line (HOL) blocking due between |
82 // streams due to packet losses on the headers stream. The | 73 // streams due to packet losses on the headers stream. The |
83 // measurements will be surfaced via UMA histogram | 74 // measurements will be surfaced via UMA histogram |
84 // Net.QuicSession.HeadersHOLBlockedTime. | 75 // Net.QuicSession.HeadersHOLBlockedTime. |
85 bool FLAGS_quic_measure_headers_hol_blocking_time = true; | 76 bool FLAGS_quic_measure_headers_hol_blocking_time = true; |
86 | 77 |
87 // Disable QUIC's userspace pacing. | 78 // Disable QUIC's userspace pacing. |
88 bool FLAGS_quic_disable_pacing = false; | 79 bool FLAGS_quic_disable_pacing = false; |
89 | 80 |
90 // If true, a FIN received on a stream with read_side_closed_ true will be | 81 // If true, a FIN received on a stream with read_side_closed_ true will be |
91 // recorded correctly. | 82 // recorded correctly. |
92 bool FLAGS_quic_fix_fin_accounting = true; | 83 bool FLAGS_quic_fix_fin_accounting = true; |
93 | 84 |
94 // If true, ReliableQuicStream::StopReading (formerly CloseReadSide) causes | 85 // If true, ReliableQuicStream::StopReading (formerly CloseReadSide) causes |
95 // incoming data to be ignored but the read side of the stream object is not | 86 // incoming data to be ignored but the read side of the stream object is not |
96 // closed. | 87 // closed. |
97 bool FLAGS_quic_implement_stop_reading = true; | 88 bool FLAGS_quic_implement_stop_reading = true; |
98 | 89 |
99 // Invoke the QuicAckListener directly, instead of going through the AckNotifier | 90 // Invoke the QuicAckListener directly, instead of going through the AckNotifier |
100 // and AckNotifierManager. | 91 // and AckNotifierManager. |
101 bool FLAGS_quic_no_ack_notifier = true; | 92 bool FLAGS_quic_no_ack_notifier = true; |
102 | 93 |
103 // If true, QuicSession::GetNumOpenStreams will count unfinished | |
104 // streams as open streams, QuicSession::PostProcessAfterData will not | |
105 // check the quota of unifinished streams. | |
106 bool FLAGS_quic_count_unfinished_as_open_streams = true; | |
107 | |
108 // If true, use the unrolled prefetch path in QuicPacketCreator::CopyToBuffer. | 94 // If true, use the unrolled prefetch path in QuicPacketCreator::CopyToBuffer. |
109 bool FLAGS_quic_packet_creator_prefetch = false; | 95 bool FLAGS_quic_packet_creator_prefetch = false; |
110 | 96 |
111 // If true, only migrate QUIC connections when client address changes are | 97 // If true, only migrate QUIC connections when client address changes are |
112 // considered to be caused by NATs. | 98 // considered to be caused by NATs. |
113 bool FLAGS_quic_disable_non_nat_address_migration = true; | 99 bool FLAGS_quic_disable_non_nat_address_migration = true; |
114 | 100 |
115 // If true, QUIC connections will timeout when packets are not being recieved, | 101 // If true, QUIC connections will timeout when packets are not being recieved, |
116 // even if they are being sent. | 102 // even if they are being sent. |
117 bool FLAGS_quic_use_new_idle_timeout = true; | 103 bool FLAGS_quic_use_new_idle_timeout = true; |
118 | 104 |
119 // If true, replace QuicFrameList with StreamSequencerBuffer as underlying data | 105 // If true, replace QuicFrameList with StreamSequencerBuffer as underlying data |
120 // structure for QuicStreamSequencer bufferring. | 106 // structure for QuicStreamSequencer bufferring. |
121 bool FLAGS_quic_use_stream_sequencer_buffer = true; | 107 bool FLAGS_quic_use_stream_sequencer_buffer = true; |
122 | 108 |
123 // If true, don't send QUIC packets if the send alarm is set. | 109 // If true, don't send QUIC packets if the send alarm is set. |
124 // Disabled until b/25638635 is resolved. | 110 bool FLAGS_quic_respect_send_alarm = true; |
125 bool FLAGS_respect_send_alarm = false; | 111 |
| 112 // If true, allow each quic stream to write 16k blocks rather than doing a round |
| 113 // robin of one packet per session when ack clocked or paced. |
| 114 bool FLAGS_quic_batch_writes = true; |
OLD | NEW |