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 #include "net/quic/quic_connection.h" | 5 #include "net/quic/quic_connection.h" |
6 | 6 |
7 #include <string.h> | 7 #include <string.h> |
8 #include <sys/types.h> | 8 #include <sys/types.h> |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <iterator> | 10 #include <iterator> |
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
244 // Pacing will be enabled if the client negotiates it. | 244 // Pacing will be enabled if the client negotiates it. |
245 sent_packet_manager_.MaybeEnablePacing(); | 245 sent_packet_manager_.MaybeEnablePacing(); |
246 } | 246 } |
247 #endif | 247 #endif |
248 DVLOG(1) << ENDPOINT << "Created connection with connection_id: " | 248 DVLOG(1) << ENDPOINT << "Created connection with connection_id: " |
249 << connection_id; | 249 << connection_id; |
250 timeout_alarm_->Set(clock_->ApproximateNow().Add(idle_network_timeout_)); | 250 timeout_alarm_->Set(clock_->ApproximateNow().Add(idle_network_timeout_)); |
251 framer_.set_visitor(this); | 251 framer_.set_visitor(this); |
252 framer_.set_received_entropy_calculator(&received_packet_manager_); | 252 framer_.set_received_entropy_calculator(&received_packet_manager_); |
253 stats_.connection_creation_time = clock_->ApproximateNow(); | 253 stats_.connection_creation_time = clock_->ApproximateNow(); |
254 sent_packet_manager_.set_network_change_visitor(&packet_generator_); | 254 sent_packet_manager_.set_network_change_visitor(this); |
255 } | 255 } |
256 | 256 |
257 QuicConnection::~QuicConnection() { | 257 QuicConnection::~QuicConnection() { |
258 if (owns_writer_) { | 258 if (owns_writer_) { |
259 delete writer_; | 259 delete writer_; |
260 } | 260 } |
261 STLDeleteElements(&undecryptable_packets_); | 261 STLDeleteElements(&undecryptable_packets_); |
262 STLDeleteValues(&group_map_); | 262 STLDeleteValues(&group_map_); |
263 for (QueuedPacketList::iterator it = queued_packets_.begin(); | 263 for (QueuedPacketList::iterator it = queued_packets_.begin(); |
264 it != queued_packets_.end(); ++it) { | 264 it != queued_packets_.end(); ++it) { |
(...skipping 1270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1535 set_encryption_level(encryption_level_); | 1535 set_encryption_level(encryption_level_); |
1536 } | 1536 } |
1537 sent_packet_manager_.OnSerializedPacket(serialized_packet); | 1537 sent_packet_manager_.OnSerializedPacket(serialized_packet); |
1538 // The TransmissionType is NOT_RETRANSMISSION because all retransmissions | 1538 // The TransmissionType is NOT_RETRANSMISSION because all retransmissions |
1539 // serialize packets and invoke SendOrQueuePacket directly. | 1539 // serialize packets and invoke SendOrQueuePacket directly. |
1540 return SendOrQueuePacket(encryption_level_, | 1540 return SendOrQueuePacket(encryption_level_, |
1541 serialized_packet, | 1541 serialized_packet, |
1542 NOT_RETRANSMISSION); | 1542 NOT_RETRANSMISSION); |
1543 } | 1543 } |
1544 | 1544 |
| 1545 void QuicConnection::OnCongestionWindowChange(QuicByteCount congestion_window) { |
| 1546 packet_generator_.OnCongestionWindowChange(congestion_window); |
| 1547 visitor_->OnCongestionWindowChange(clock_->ApproximateNow()); |
| 1548 } |
| 1549 |
1545 void QuicConnection::OnHandshakeComplete() { | 1550 void QuicConnection::OnHandshakeComplete() { |
1546 sent_packet_manager_.SetHandshakeConfirmed(); | 1551 sent_packet_manager_.SetHandshakeConfirmed(); |
1547 } | 1552 } |
1548 | 1553 |
1549 bool QuicConnection::SendOrQueuePacket(EncryptionLevel level, | 1554 bool QuicConnection::SendOrQueuePacket(EncryptionLevel level, |
1550 const SerializedPacket& packet, | 1555 const SerializedPacket& packet, |
1551 TransmissionType transmission_type) { | 1556 TransmissionType transmission_type) { |
1552 if (packet.packet == NULL) { | 1557 if (packet.packet == NULL) { |
1553 LOG(DFATAL) << "NULL packet passed in to SendOrQueuePacket"; | 1558 LOG(DFATAL) << "NULL packet passed in to SendOrQueuePacket"; |
1554 return true; | 1559 return true; |
(...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2009 // If we changed the generator's batch state, restore original batch state. | 2014 // If we changed the generator's batch state, restore original batch state. |
2010 if (!already_in_batch_mode_) { | 2015 if (!already_in_batch_mode_) { |
2011 DVLOG(1) << "Leaving Batch Mode."; | 2016 DVLOG(1) << "Leaving Batch Mode."; |
2012 connection_->packet_generator_.FinishBatchOperations(); | 2017 connection_->packet_generator_.FinishBatchOperations(); |
2013 } | 2018 } |
2014 DCHECK_EQ(already_in_batch_mode_, | 2019 DCHECK_EQ(already_in_batch_mode_, |
2015 connection_->packet_generator_.InBatchMode()); | 2020 connection_->packet_generator_.InBatchMode()); |
2016 } | 2021 } |
2017 | 2022 |
2018 } // namespace net | 2023 } // namespace net |
OLD | NEW |