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

Side by Side Diff: net/quic/core/quic_connection.cc

Issue 2229393003: net: Use stl utilities from the base namespace (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 4 years, 4 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
OLDNEW
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 #include "net/quic/core/quic_connection.h" 5 #include "net/quic/core/quic_connection.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 #include <sys/types.h> 8 #include <sys/types.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 SetMaxPacketLength(perspective_ == Perspective::IS_SERVER 331 SetMaxPacketLength(perspective_ == Perspective::IS_SERVER
332 ? kDefaultServerMaxPacketSize 332 ? kDefaultServerMaxPacketSize
333 : kDefaultMaxPacketSize); 333 : kDefaultMaxPacketSize);
334 received_packet_manager_.SetVersion(version()); 334 received_packet_manager_.SetVersion(version());
335 } 335 }
336 336
337 QuicConnection::~QuicConnection() { 337 QuicConnection::~QuicConnection() {
338 if (owns_writer_) { 338 if (owns_writer_) {
339 delete writer_; 339 delete writer_;
340 } 340 }
341 STLDeleteElements(&undecryptable_packets_); 341 base::STLDeleteElements(&undecryptable_packets_);
342 ClearQueuedPackets(); 342 ClearQueuedPackets();
343 } 343 }
344 344
345 void QuicConnection::ClearQueuedPackets() { 345 void QuicConnection::ClearQueuedPackets() {
346 for (QueuedPacketList::iterator it = queued_packets_.begin(); 346 for (QueuedPacketList::iterator it = queued_packets_.begin();
347 it != queued_packets_.end(); ++it) { 347 it != queued_packets_.end(); ++it) {
348 // Delete the buffer before calling ClearSerializedPacket, which sets 348 // Delete the buffer before calling ClearSerializedPacket, which sets
349 // encrypted_buffer to nullptr. 349 // encrypted_buffer to nullptr.
350 delete[] it->encrypted_buffer; 350 delete[] it->encrypted_buffer;
351 QuicUtils::ClearSerializedPacket(&(*it)); 351 QuicUtils::ClearSerializedPacket(&(*it));
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 } 436 }
437 437
438 bool QuicConnection::SelectMutualVersion( 438 bool QuicConnection::SelectMutualVersion(
439 const QuicVersionVector& available_versions) { 439 const QuicVersionVector& available_versions) {
440 // Try to find the highest mutual version by iterating over supported 440 // Try to find the highest mutual version by iterating over supported
441 // versions, starting with the highest, and breaking out of the loop once we 441 // versions, starting with the highest, and breaking out of the loop once we
442 // find a matching version in the provided available_versions vector. 442 // find a matching version in the provided available_versions vector.
443 const QuicVersionVector& supported_versions = framer_.supported_versions(); 443 const QuicVersionVector& supported_versions = framer_.supported_versions();
444 for (size_t i = 0; i < supported_versions.size(); ++i) { 444 for (size_t i = 0; i < supported_versions.size(); ++i) {
445 const QuicVersion& version = supported_versions[i]; 445 const QuicVersion& version = supported_versions[i];
446 if (ContainsValue(available_versions, version)) { 446 if (base::ContainsValue(available_versions, version)) {
447 framer_.set_version(version); 447 framer_.set_version(version);
448 return true; 448 return true;
449 } 449 }
450 } 450 }
451 451
452 return false; 452 return false;
453 } 453 }
454 454
455 void QuicConnection::OnError(QuicFramer* framer) { 455 void QuicConnection::OnError(QuicFramer* framer) {
456 // Packets that we can not or have not decrypted are dropped. 456 // Packets that we can not or have not decrypted are dropped.
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
555 } 555 }
556 if (debug_visitor_ != nullptr) { 556 if (debug_visitor_ != nullptr) {
557 debug_visitor_->OnVersionNegotiationPacket(packet); 557 debug_visitor_->OnVersionNegotiationPacket(packet);
558 } 558 }
559 559
560 if (version_negotiation_state_ != START_NEGOTIATION) { 560 if (version_negotiation_state_ != START_NEGOTIATION) {
561 // Possibly a duplicate version negotiation packet. 561 // Possibly a duplicate version negotiation packet.
562 return; 562 return;
563 } 563 }
564 564
565 if (ContainsValue(packet.versions, version())) { 565 if (base::ContainsValue(packet.versions, version())) {
566 const string error_details = 566 const string error_details =
567 "Server already supports client's version and should have accepted the " 567 "Server already supports client's version and should have accepted the "
568 "connection."; 568 "connection.";
569 DLOG(WARNING) << error_details; 569 DLOG(WARNING) << error_details;
570 TearDownLocalConnectionState(QUIC_INVALID_VERSION_NEGOTIATION_PACKET, 570 TearDownLocalConnectionState(QUIC_INVALID_VERSION_NEGOTIATION_PACKET,
571 error_details, 571 error_details,
572 ConnectionCloseSource::FROM_SELF); 572 ConnectionCloseSource::FROM_SELF);
573 return; 573 return;
574 } 574 }
575 575
(...skipping 1441 matching lines...) Expand 10 before | Expand all | Expand 10 after
2017 // never be able to be decrypted. 2017 // never be able to be decrypted.
2018 if (encryption_level_ == ENCRYPTION_FORWARD_SECURE) { 2018 if (encryption_level_ == ENCRYPTION_FORWARD_SECURE) {
2019 if (debug_visitor_ != nullptr) { 2019 if (debug_visitor_ != nullptr) {
2020 // TODO(rtenneti): perhaps more efficient to pass the number of 2020 // TODO(rtenneti): perhaps more efficient to pass the number of
2021 // undecryptable packets as the argument to OnUndecryptablePacket so that 2021 // undecryptable packets as the argument to OnUndecryptablePacket so that
2022 // we just need to call OnUndecryptablePacket once? 2022 // we just need to call OnUndecryptablePacket once?
2023 for (size_t i = 0; i < undecryptable_packets_.size(); ++i) { 2023 for (size_t i = 0; i < undecryptable_packets_.size(); ++i) {
2024 debug_visitor_->OnUndecryptablePacket(); 2024 debug_visitor_->OnUndecryptablePacket();
2025 } 2025 }
2026 } 2026 }
2027 STLDeleteElements(&undecryptable_packets_); 2027 base::STLDeleteElements(&undecryptable_packets_);
2028 } 2028 }
2029 } 2029 }
2030 2030
2031 void QuicConnection::CloseConnection( 2031 void QuicConnection::CloseConnection(
2032 QuicErrorCode error, 2032 QuicErrorCode error,
2033 const string& error_details, 2033 const string& error_details,
2034 ConnectionCloseBehavior connection_close_behavior) { 2034 ConnectionCloseBehavior connection_close_behavior) {
2035 DCHECK(!error_details.empty()); 2035 DCHECK(!error_details.empty());
2036 if (!connected_) { 2036 if (!connected_) {
2037 DVLOG(1) << "Connection is already closed."; 2037 DVLOG(1) << "Connection is already closed.";
(...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after
2525 // the sender and a signaling mechanism -- if the sender uses a 2525 // the sender and a signaling mechanism -- if the sender uses a
2526 // different MinRTO, we may get spurious retransmissions. May not have 2526 // different MinRTO, we may get spurious retransmissions. May not have
2527 // any benefits, but if the delayed ack becomes a significant source 2527 // any benefits, but if the delayed ack becomes a significant source
2528 // of (likely, tail) latency, then consider such a mechanism. 2528 // of (likely, tail) latency, then consider such a mechanism.
2529 const QuicTime::Delta QuicConnection::DelayedAckTime() { 2529 const QuicTime::Delta QuicConnection::DelayedAckTime() {
2530 return QuicTime::Delta::FromMilliseconds( 2530 return QuicTime::Delta::FromMilliseconds(
2531 min(kMaxDelayedAckTimeMs, kMinRetransmissionTimeMs / 2)); 2531 min(kMaxDelayedAckTimeMs, kMinRetransmissionTimeMs / 2));
2532 } 2532 }
2533 2533
2534 } // namespace net 2534 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/quic_buffered_packet_store.cc ('k') | net/quic/core/quic_crypto_server_stream_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698