OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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_QUIC_QUIC_CONFIG_H_ | 5 #ifndef NET_QUIC_QUIC_CONFIG_H_ |
6 #define NET_QUIC_QUIC_CONFIG_H_ | 6 #define NET_QUIC_QUIC_CONFIG_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 class NET_EXPORT_PRIVATE QuicNegotiableValue : public QuicConfigValue { | 61 class NET_EXPORT_PRIVATE QuicNegotiableValue : public QuicConfigValue { |
62 public: | 62 public: |
63 QuicNegotiableValue(QuicTag tag, QuicConfigPresence presence); | 63 QuicNegotiableValue(QuicTag tag, QuicConfigPresence presence); |
64 ~QuicNegotiableValue() override; | 64 ~QuicNegotiableValue() override; |
65 | 65 |
66 bool negotiated() const { | 66 bool negotiated() const { |
67 return negotiated_; | 67 return negotiated_; |
68 } | 68 } |
69 | 69 |
70 protected: | 70 protected: |
| 71 void set_negotiated(bool negotiated) { negotiated_ = negotiated; } |
| 72 |
| 73 private: |
71 bool negotiated_; | 74 bool negotiated_; |
72 }; | 75 }; |
73 | 76 |
74 class NET_EXPORT_PRIVATE QuicNegotiableUint32 : public QuicNegotiableValue { | 77 class NET_EXPORT_PRIVATE QuicNegotiableUint32 : public QuicNegotiableValue { |
75 public: | 78 public: |
76 // Default and max values default to 0. | 79 // Default and max values default to 0. |
77 QuicNegotiableUint32(QuicTag name, QuicConfigPresence presence); | 80 QuicNegotiableUint32(QuicTag name, QuicConfigPresence presence); |
78 ~QuicNegotiableUint32() override; | 81 ~QuicNegotiableUint32() override; |
79 | 82 |
80 // Sets the maximum possible value that can be achieved after negotiation and | 83 // Sets the maximum possible value that can be achieved after negotiation and |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 } | 303 } |
301 | 304 |
302 void set_max_undecryptable_packets(size_t max_undecryptable_packets) { | 305 void set_max_undecryptable_packets(size_t max_undecryptable_packets) { |
303 max_undecryptable_packets_ = max_undecryptable_packets; | 306 max_undecryptable_packets_ = max_undecryptable_packets; |
304 } | 307 } |
305 | 308 |
306 size_t max_undecryptable_packets() const { | 309 size_t max_undecryptable_packets() const { |
307 return max_undecryptable_packets_; | 310 return max_undecryptable_packets_; |
308 } | 311 } |
309 | 312 |
| 313 bool HasSetBytesForConnectionIdToSend() const; |
| 314 |
| 315 // Sets the peer's connection id length, in bytes. |
| 316 void SetBytesForConnectionIdToSend(uint32 bytes); |
| 317 |
| 318 bool HasReceivedBytesForConnectionId() const; |
| 319 |
| 320 uint32 ReceivedBytesForConnectionId() const; |
| 321 |
310 // Sets the peer's default initial congestion window in packets. | 322 // Sets the peer's default initial congestion window in packets. |
311 void SetInitialCongestionWindowToSend(size_t initial_window); | 323 void SetInitialCongestionWindowToSend(size_t initial_window); |
312 | 324 |
313 bool HasReceivedInitialCongestionWindow() const; | 325 bool HasReceivedInitialCongestionWindow() const; |
314 | 326 |
315 uint32 ReceivedInitialCongestionWindow() const; | 327 uint32 ReceivedInitialCongestionWindow() const; |
316 | 328 |
317 // Sets an estimated initial round trip time in us. | 329 // Sets an estimated initial round trip time in us. |
318 void SetInitialRoundTripTimeUsToSend(size_t rtt_us); | 330 void SetInitialRoundTripTimeUsToSend(size_t rtt_us); |
319 | 331 |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
392 // Congestion control feedback type. | 404 // Congestion control feedback type. |
393 QuicNegotiableTag congestion_feedback_; | 405 QuicNegotiableTag congestion_feedback_; |
394 // Connection options. | 406 // Connection options. |
395 QuicFixedTagVector connection_options_; | 407 QuicFixedTagVector connection_options_; |
396 // Idle connection state lifetime | 408 // Idle connection state lifetime |
397 QuicNegotiableUint32 idle_connection_state_lifetime_seconds_; | 409 QuicNegotiableUint32 idle_connection_state_lifetime_seconds_; |
398 // Keepalive timeout, or 0 to turn off keepalive probes | 410 // Keepalive timeout, or 0 to turn off keepalive probes |
399 QuicNegotiableUint32 keepalive_timeout_seconds_; | 411 QuicNegotiableUint32 keepalive_timeout_seconds_; |
400 // Maximum number of streams that the connection can support. | 412 // Maximum number of streams that the connection can support. |
401 QuicNegotiableUint32 max_streams_per_connection_; | 413 QuicNegotiableUint32 max_streams_per_connection_; |
| 414 // The number of bytes required for the connection ID. |
| 415 QuicFixedUint32 bytes_for_connection_id_; |
402 // Initial congestion window in packets. | 416 // Initial congestion window in packets. |
403 QuicFixedUint32 initial_congestion_window_; | 417 QuicFixedUint32 initial_congestion_window_; |
404 // Initial round trip time estimate in microseconds. | 418 // Initial round trip time estimate in microseconds. |
405 QuicFixedUint32 initial_round_trip_time_us_; | 419 QuicFixedUint32 initial_round_trip_time_us_; |
406 | 420 |
407 // TODO(rjshade): Remove when removing QUIC_VERSION_19. | 421 // TODO(rjshade): Remove when removing QUIC_VERSION_19. |
408 // Initial flow control receive window in bytes. | 422 // Initial flow control receive window in bytes. |
409 QuicFixedUint32 initial_flow_control_window_bytes_; | 423 QuicFixedUint32 initial_flow_control_window_bytes_; |
410 | 424 |
411 // Initial stream flow control receive window in bytes. | 425 // Initial stream flow control receive window in bytes. |
412 QuicFixedUint32 initial_stream_flow_control_window_bytes_; | 426 QuicFixedUint32 initial_stream_flow_control_window_bytes_; |
413 // Initial session flow control receive window in bytes. | 427 // Initial session flow control receive window in bytes. |
414 QuicFixedUint32 initial_session_flow_control_window_bytes_; | 428 QuicFixedUint32 initial_session_flow_control_window_bytes_; |
415 | 429 |
416 // Socket receive buffer in bytes. | 430 // Socket receive buffer in bytes. |
417 QuicFixedUint32 socket_receive_buffer_; | 431 QuicFixedUint32 socket_receive_buffer_; |
418 }; | 432 }; |
419 | 433 |
420 } // namespace net | 434 } // namespace net |
421 | 435 |
422 #endif // NET_QUIC_QUIC_CONFIG_H_ | 436 #endif // NET_QUIC_QUIC_CONFIG_H_ |
OLD | NEW |