OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #ifndef NET_HTTP_HTTP_NETWORK_SESSION_H_ | 5 #ifndef NET_HTTP_HTTP_NETWORK_SESSION_H_ |
6 #define NET_HTTP_HTTP_NETWORK_SESSION_H_ | 6 #define NET_HTTP_HTTP_NETWORK_SESSION_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 float quic_load_server_info_timeout_srtt_multiplier; | 118 float quic_load_server_info_timeout_srtt_multiplier; |
119 // Causes QUIC to race reading the server config from disk with | 119 // Causes QUIC to race reading the server config from disk with |
120 // sending an inchoate CHLO. | 120 // sending an inchoate CHLO. |
121 bool quic_enable_connection_racing; | 121 bool quic_enable_connection_racing; |
122 // Use non-blocking IO for UDP sockets. | 122 // Use non-blocking IO for UDP sockets. |
123 bool quic_enable_non_blocking_io; | 123 bool quic_enable_non_blocking_io; |
124 // Disables using the disk cache to store QUIC server configs. | 124 // Disables using the disk cache to store QUIC server configs. |
125 bool quic_disable_disk_cache; | 125 bool quic_disable_disk_cache; |
126 // Prefer AES-GCM to ChaCha20 even if no hardware support is present. | 126 // Prefer AES-GCM to ChaCha20 even if no hardware support is present. |
127 bool quic_prefer_aes; | 127 bool quic_prefer_aes; |
| 128 // Specifies the maximum number of connections with high packet loss in |
| 129 // a row after which QUIC will be disabled. |
| 130 int quic_max_number_of_lossy_connections; |
| 131 // Specifies packet loss rate in fraction after which a connection is |
| 132 // closed and is considered as a lossy connection. |
| 133 float quic_packet_loss_threshold; |
128 // Size in bytes of the QUIC DUP socket receive buffer. | 134 // Size in bytes of the QUIC DUP socket receive buffer. |
129 int quic_socket_receive_buffer_size; | 135 int quic_socket_receive_buffer_size; |
130 // Delay starting a TCP connection when QUIC believes it can speak | 136 // Delay starting a TCP connection when QUIC believes it can speak |
131 // 0-RTT to a server. | 137 // 0-RTT to a server. |
132 bool quic_delay_tcp_race; | 138 bool quic_delay_tcp_race; |
133 // Maximum number of server configs that are to be stored in | 139 // Maximum number of server configs that are to be stored in |
134 // HttpServerProperties, instead of the disk cache. | 140 // HttpServerProperties, instead of the disk cache. |
135 size_t quic_max_server_configs_stored_in_properties; | 141 size_t quic_max_server_configs_stored_in_properties; |
136 // If not empty, QUIC will be used for all connections to the set of | 142 // If not empty, QUIC will be used for all connections to the set of |
137 // origins in |origins_to_force_quic_on|. | 143 // origins in |origins_to_force_quic_on|. |
138 std::set<HostPortPair> origins_to_force_quic_on; | 144 std::set<HostPortPair> origins_to_force_quic_on; |
139 // Source of time for QUIC connections. Will be owned by QuicStreamFactory. | 145 // Source of time for QUIC connections. Will be owned by QuicStreamFactory. |
140 QuicClock* quic_clock; | 146 QuicClock* quic_clock; |
141 // Source of entropy for QUIC connections. | 147 // Source of entropy for QUIC connections. |
142 QuicRandom* quic_random; | 148 QuicRandom* quic_random; |
143 // Limit on the size of QUIC packets. | 149 // Limit on the size of QUIC packets. |
144 size_t quic_max_packet_length; | 150 size_t quic_max_packet_length; |
145 // User agent description to send in the QUIC handshake. | 151 // User agent description to send in the QUIC handshake. |
146 std::string quic_user_agent_id; | 152 std::string quic_user_agent_id; |
147 bool enable_user_alternate_protocol_ports; | 153 bool enable_user_alternate_protocol_ports; |
148 // Optional factory to use for creating QuicCryptoClientStreams. | 154 // Optional factory to use for creating QuicCryptoClientStreams. |
149 QuicCryptoClientStreamFactory* quic_crypto_client_stream_factory; | 155 QuicCryptoClientStreamFactory* quic_crypto_client_stream_factory; |
150 // Versions of QUIC which may be used. | 156 // Versions of QUIC which may be used. |
151 QuicVersionVector quic_supported_versions; | 157 QuicVersionVector quic_supported_versions; |
| 158 int quic_max_recent_disabled_reasons; |
| 159 int quic_threshold_public_resets_post_handshake; |
| 160 int quic_threshold_timeouts_streams_open; |
152 // Set of QUIC tags to send in the handshake's connection options. | 161 // Set of QUIC tags to send in the handshake's connection options. |
153 QuicTagVector quic_connection_options; | 162 QuicTagVector quic_connection_options; |
154 // If true, all QUIC sessions are closed when any local IP address changes. | 163 // If true, all QUIC sessions are closed when any local IP address changes. |
155 bool quic_close_sessions_on_ip_change; | 164 bool quic_close_sessions_on_ip_change; |
156 // Specifies QUIC idle connection state lifetime. | 165 // Specifies QUIC idle connection state lifetime. |
157 int quic_idle_connection_timeout_seconds; | 166 int quic_idle_connection_timeout_seconds; |
158 // Specifies the reduced ping timeout subsequent connections should use when | 167 // Specifies the reduced ping timeout subsequent connections should use when |
159 // a connection was timed out with open streams. | 168 // a connection was timed out with open streams. |
160 int quic_reduced_ping_timeout_seconds; | 169 int quic_reduced_ping_timeout_seconds; |
161 // Specifies the maximum time duration that QUIC packet reader can perform | 170 // Specifies the maximum time duration that QUIC packet reader can perform |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
305 bool enabled_protocols_[NUM_VALID_ALTERNATE_PROTOCOLS]; | 314 bool enabled_protocols_[NUM_VALID_ALTERNATE_PROTOCOLS]; |
306 | 315 |
307 Params params_; | 316 Params params_; |
308 | 317 |
309 std::unique_ptr<base::MemoryPressureListener> memory_pressure_listener_; | 318 std::unique_ptr<base::MemoryPressureListener> memory_pressure_listener_; |
310 }; | 319 }; |
311 | 320 |
312 } // namespace net | 321 } // namespace net |
313 | 322 |
314 #endif // NET_HTTP_HTTP_NETWORK_SESSION_H_ | 323 #endif // NET_HTTP_HTTP_NETWORK_SESSION_H_ |
OLD | NEW |