Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(272)

Side by Side Diff: net/quic/quic_config.cc

Issue 648933003: Land Recent QUIC Changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge with TOT Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/quic/quic_config.h ('k') | net/quic/quic_config_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "net/quic/quic_config.h" 5 #include "net/quic/quic_config.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "net/quic/crypto/crypto_handshake_message.h" 10 #include "net/quic/crypto/crypto_handshake_message.h"
(...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 default: 420 default:
421 *error_details = "Bad " + QuicUtils::TagToString(tag_); 421 *error_details = "Bad " + QuicUtils::TagToString(tag_);
422 break; 422 break;
423 } 423 }
424 return error; 424 return error;
425 } 425 }
426 426
427 QuicConfig::QuicConfig() 427 QuicConfig::QuicConfig()
428 : max_time_before_crypto_handshake_(QuicTime::Delta::Zero()), 428 : max_time_before_crypto_handshake_(QuicTime::Delta::Zero()),
429 max_idle_time_before_crypto_handshake_(QuicTime::Delta::Zero()), 429 max_idle_time_before_crypto_handshake_(QuicTime::Delta::Zero()),
430 max_undecryptable_packets_(0),
430 congestion_feedback_(kCGST, PRESENCE_REQUIRED), 431 congestion_feedback_(kCGST, PRESENCE_REQUIRED),
431 connection_options_(kCOPT, PRESENCE_OPTIONAL), 432 connection_options_(kCOPT, PRESENCE_OPTIONAL),
432 idle_connection_state_lifetime_seconds_(kICSL, PRESENCE_REQUIRED), 433 idle_connection_state_lifetime_seconds_(kICSL, PRESENCE_REQUIRED),
433 keepalive_timeout_seconds_(kKATO, PRESENCE_OPTIONAL), 434 keepalive_timeout_seconds_(kKATO, PRESENCE_OPTIONAL),
434 max_streams_per_connection_(kMSPC, PRESENCE_REQUIRED), 435 max_streams_per_connection_(kMSPC, PRESENCE_REQUIRED),
435 initial_congestion_window_(kSWND, PRESENCE_OPTIONAL), 436 initial_congestion_window_(kSWND, PRESENCE_OPTIONAL),
436 initial_round_trip_time_us_(kIRTT, PRESENCE_OPTIONAL), 437 initial_round_trip_time_us_(kIRTT, PRESENCE_OPTIONAL),
437 // TODO(rjshade): Remove this when retiring QUIC_VERSION_19. 438 // TODO(rjshade): Remove this when retiring QUIC_VERSION_19.
438 initial_flow_control_window_bytes_(kIFCW, PRESENCE_OPTIONAL), 439 initial_flow_control_window_bytes_(kIFCW, PRESENCE_OPTIONAL),
439 // TODO(rjshade): Make this PRESENCE_REQUIRED when retiring 440 // TODO(rjshade): Make this PRESENCE_REQUIRED when retiring
440 // QUIC_VERSION_19. 441 // QUIC_VERSION_19.
441 initial_stream_flow_control_window_bytes_(kSFCW, PRESENCE_OPTIONAL), 442 initial_stream_flow_control_window_bytes_(kSFCW, PRESENCE_OPTIONAL),
442 // TODO(rjshade): Make this PRESENCE_REQUIRED when retiring 443 // TODO(rjshade): Make this PRESENCE_REQUIRED when retiring
443 // QUIC_VERSION_19. 444 // QUIC_VERSION_19.
444 initial_session_flow_control_window_bytes_(kCFCW, PRESENCE_OPTIONAL), 445 initial_session_flow_control_window_bytes_(kCFCW, PRESENCE_OPTIONAL),
445 socket_receive_buffer_(kSRBF, PRESENCE_OPTIONAL) { 446 socket_receive_buffer_(kSRBF, PRESENCE_OPTIONAL) {
447 SetDefaults();
446 } 448 }
447 449
448 QuicConfig::~QuicConfig() {} 450 QuicConfig::~QuicConfig() {}
449 451
450 void QuicConfig::SetCongestionFeedback( 452 void QuicConfig::SetCongestionFeedback(
451 const QuicTagVector& congestion_feedback, 453 const QuicTagVector& congestion_feedback,
452 QuicTag default_congestion_feedback) { 454 QuicTag default_congestion_feedback) {
453 congestion_feedback_.set(congestion_feedback, default_congestion_feedback); 455 congestion_feedback_.set(congestion_feedback, default_congestion_feedback);
454 } 456 }
455 457
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 idle_connection_state_lifetime_seconds_.set(kMaximumIdleTimeoutSecs, 638 idle_connection_state_lifetime_seconds_.set(kMaximumIdleTimeoutSecs,
637 kDefaultIdleTimeoutSecs); 639 kDefaultIdleTimeoutSecs);
638 // kKATO is optional. Return 0 if not negotiated. 640 // kKATO is optional. Return 0 if not negotiated.
639 keepalive_timeout_seconds_.set(0, 0); 641 keepalive_timeout_seconds_.set(0, 0);
640 SetMaxStreamsPerConnection(kDefaultMaxStreamsPerConnection, 642 SetMaxStreamsPerConnection(kDefaultMaxStreamsPerConnection,
641 kDefaultMaxStreamsPerConnection); 643 kDefaultMaxStreamsPerConnection);
642 max_time_before_crypto_handshake_ = 644 max_time_before_crypto_handshake_ =
643 QuicTime::Delta::FromSeconds(kMaxTimeForCryptoHandshakeSecs); 645 QuicTime::Delta::FromSeconds(kMaxTimeForCryptoHandshakeSecs);
644 max_idle_time_before_crypto_handshake_ = 646 max_idle_time_before_crypto_handshake_ =
645 QuicTime::Delta::FromSeconds(kInitialIdleTimeoutSecs); 647 QuicTime::Delta::FromSeconds(kInitialIdleTimeoutSecs);
648 max_undecryptable_packets_ = kDefaultMaxUndecryptablePackets;
646 649
647 SetInitialFlowControlWindowToSend(kDefaultFlowControlSendWindow); 650 SetInitialFlowControlWindowToSend(kDefaultFlowControlSendWindow);
648 SetInitialStreamFlowControlWindowToSend(kDefaultFlowControlSendWindow); 651 SetInitialStreamFlowControlWindowToSend(kDefaultFlowControlSendWindow);
649 SetInitialSessionFlowControlWindowToSend(kDefaultFlowControlSendWindow); 652 SetInitialSessionFlowControlWindowToSend(kDefaultFlowControlSendWindow);
650 } 653 }
651 654
652 void QuicConfig::ToHandshakeMessage(CryptoHandshakeMessage* out) const { 655 void QuicConfig::ToHandshakeMessage(CryptoHandshakeMessage* out) const {
653 congestion_feedback_.ToHandshakeMessage(out); 656 congestion_feedback_.ToHandshakeMessage(out);
654 idle_connection_state_lifetime_seconds_.ToHandshakeMessage(out); 657 idle_connection_state_lifetime_seconds_.ToHandshakeMessage(out);
655 keepalive_timeout_seconds_.ToHandshakeMessage(out); 658 keepalive_timeout_seconds_.ToHandshakeMessage(out);
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
711 peer_hello, hello_type, error_details); 714 peer_hello, hello_type, error_details);
712 } 715 }
713 if (error == QUIC_NO_ERROR) { 716 if (error == QUIC_NO_ERROR) {
714 error = connection_options_.ProcessPeerHello( 717 error = connection_options_.ProcessPeerHello(
715 peer_hello, hello_type, error_details); 718 peer_hello, hello_type, error_details);
716 } 719 }
717 return error; 720 return error;
718 } 721 }
719 722
720 } // namespace net 723 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_config.h ('k') | net/quic/quic_config_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698