Index: net/quic/core/quic_connection.cc |
diff --git a/net/quic/core/quic_connection.cc b/net/quic/core/quic_connection.cc |
index b4b351d660c7787cd03f1bf78aa09258e20e4503..da418fa0d9a6b6c496f234cfadd401a5a5819356 100644 |
--- a/net/quic/core/quic_connection.cc |
+++ b/net/quic/core/quic_connection.cc |
@@ -256,7 +256,6 @@ QuicConnection::QuicConnection(QuicConnectionId connection_id, |
debug_visitor_(nullptr), |
packet_generator_(connection_id_, |
&framer_, |
- random_generator_, |
helper->GetBufferAllocator(), |
this), |
idle_network_timeout_(QuicTime::Delta::Infinite()), |
@@ -289,7 +288,6 @@ QuicConnection::QuicConnection(QuicConnectionId connection_id, |
DVLOG(1) << ENDPOINT |
<< "Created connection with connection_id: " << connection_id; |
framer_.set_visitor(this); |
- framer_.set_received_entropy_calculator(&received_packet_manager_); |
if (!FLAGS_quic_receive_packet_once_decrypted) { |
last_stop_waiting_frame_.least_unacked = 0; |
} |
@@ -306,7 +304,6 @@ QuicConnection::QuicConnection(QuicConnectionId connection_id, |
SetMaxPacketLength(perspective_ == Perspective::IS_SERVER |
? kDefaultServerMaxPacketSize |
: kDefaultMaxPacketSize); |
- received_packet_manager_.SetVersion(version()); |
} |
QuicConnection::~QuicConnection() { |
@@ -500,7 +497,6 @@ bool QuicConnection::OnProtocolVersionMismatch(QuicVersion received_version) { |
} |
version_negotiation_state_ = NEGOTIATED_VERSION; |
- received_packet_manager_.SetVersion(received_version); |
visitor_->OnSuccessfulVersionNegotiation(received_version); |
if (debug_visitor_ != nullptr) { |
debug_visitor_->OnSuccessfulVersionNegotiation(received_version); |
@@ -563,7 +559,6 @@ void QuicConnection::OnVersionNegotiationPacket( |
DVLOG(1) << ENDPOINT |
<< "Negotiated version: " << QuicVersionToString(version()); |
- received_packet_manager_.SetVersion(version()); |
server_supported_versions_ = packet.versions; |
version_negotiation_state_ = NEGOTIATION_IN_PROGRESS; |
RetransmitUnackedPackets(ALL_UNACKED_RETRANSMISSION); |
@@ -732,9 +727,6 @@ bool QuicConnection::OnAckFrame(const QuicAckFrame& incoming_ack) { |
send_alarm_->Cancel(); |
} |
ProcessAckFrame(incoming_ack); |
- if (incoming_ack.is_truncated) { |
- should_last_packet_instigate_acks_ = true; |
- } |
// If the incoming ack's packets set expresses missing packets: peer is still |
// waiting for a packet lower than a packet that we are no longer planning to |
// send. |
@@ -755,12 +747,6 @@ void QuicConnection::ProcessAckFrame(const QuicAckFrame& incoming_ack) { |
largest_seen_packet_with_ack_ = last_header_.packet_number; |
sent_packet_manager_->OnIncomingAck(incoming_ack, |
time_of_last_received_packet_); |
- if (version() <= QUIC_VERSION_33) { |
- sent_entropy_manager_.ClearEntropyBefore( |
- sent_packet_manager_->GetLeastPacketAwaitedByPeer( |
- incoming_ack.path_id) - |
- 1); |
- } |
// Always reset the retransmission alarm when an ack comes in, since we now |
// have a better estimate of the current rtt than when it was set. |
SetRetransmissionAlarm(); |
@@ -838,44 +824,13 @@ const char* QuicConnection::ValidateAckFrame(const QuicAckFrame& incoming_ack) { |
return "Largest observed too low."; |
} |
- if (version() <= QUIC_VERSION_33) { |
- if (!incoming_ack.packets.Empty() && |
- incoming_ack.packets.Max() > incoming_ack.largest_observed) { |
- LOG(WARNING) << ENDPOINT |
- << "Peer sent missing packet: " << incoming_ack.packets.Max() |
- << " which is greater than largest observed: " |
- << incoming_ack.largest_observed; |
- return "Missing packet higher than largest observed."; |
- } |
- |
- if (!incoming_ack.packets.Empty() && |
- incoming_ack.packets.Min() < |
- sent_packet_manager_->GetLeastPacketAwaitedByPeer( |
- incoming_ack.path_id)) { |
- LOG(WARNING) << ENDPOINT |
- << "Peer sent missing packet: " << incoming_ack.packets.Min() |
- << " which is smaller than least_packet_awaited_by_peer_: " |
- << sent_packet_manager_->GetLeastPacketAwaitedByPeer( |
- incoming_ack.path_id); |
- return "Missing packet smaller than least awaited."; |
- } |
- if (!sent_entropy_manager_.IsValidEntropy(incoming_ack.largest_observed, |
- incoming_ack.packets, |
- incoming_ack.entropy_hash)) { |
- DLOG(WARNING) << ENDPOINT << "Peer sent invalid entropy." |
- << " largest_observed:" << incoming_ack.largest_observed |
- << " last_received:" << last_header_.packet_number; |
- return "Invalid entropy."; |
- } |
- } else { |
- if (!incoming_ack.packets.Empty() && |
- incoming_ack.packets.Max() != incoming_ack.largest_observed) { |
- QUIC_BUG << ENDPOINT |
- << "Peer last received packet: " << incoming_ack.packets.Max() |
- << " which is not equal to largest observed: " |
- << incoming_ack.largest_observed; |
- return "Last received packet not equal to largest observed."; |
- } |
+ if (!incoming_ack.packets.Empty() && |
+ incoming_ack.packets.Max() != incoming_ack.largest_observed) { |
+ QUIC_BUG << ENDPOINT |
+ << "Peer last received packet: " << incoming_ack.packets.Max() |
+ << " which is not equal to largest observed: " |
+ << incoming_ack.largest_observed; |
+ return "Last received packet not equal to largest observed."; |
} |
return nullptr; |
@@ -1039,7 +994,6 @@ void QuicConnection::OnPacketComplete() { |
} |
ClearLastFrames(); |
- MaybeCloseIfTooManyOutstandingPackets(); |
} |
void QuicConnection::MaybeQueueAck(bool was_missing) { |
@@ -1113,30 +1067,6 @@ void QuicConnection::ClearLastFrames() { |
} |
} |
-void QuicConnection::MaybeCloseIfTooManyOutstandingPackets() { |
- if (version() > QUIC_VERSION_33) { |
- return; |
- } |
- // This occurs if we don't discard old packets we've sent fast enough. |
- // It's possible largest observed is less than least unacked. |
- if (sent_packet_manager_->GetLargestObserved(last_header_.path_id) > |
- (sent_packet_manager_->GetLeastUnacked(last_header_.path_id) + |
- kMaxTrackedPackets)) { |
- CloseConnection( |
- QUIC_TOO_MANY_OUTSTANDING_SENT_PACKETS, |
- StringPrintf("More than %" PRIu64 " outstanding.", kMaxTrackedPackets), |
- ConnectionCloseBehavior::SEND_CONNECTION_CLOSE_PACKET); |
- } |
- // This occurs if there are received packet gaps and the peer does not raise |
- // the least unacked fast enough. |
- if (received_packet_manager_.NumTrackedPackets() > kMaxTrackedPackets) { |
- CloseConnection( |
- QUIC_TOO_MANY_OUTSTANDING_RECEIVED_PACKETS, |
- StringPrintf("More than %" PRIu64 " outstanding.", kMaxTrackedPackets), |
- ConnectionCloseBehavior::SEND_CONNECTION_CLOSE_PACKET); |
- } |
-} |
- |
const QuicFrame QuicConnection::GetUpdatedAckFrame() { |
return received_packet_manager_.GetUpdatedAckFrame(clock_->ApproximateNow()); |
} |
@@ -1144,10 +1074,6 @@ const QuicFrame QuicConnection::GetUpdatedAckFrame() { |
void QuicConnection::PopulateStopWaitingFrame( |
QuicStopWaitingFrame* stop_waiting) { |
stop_waiting->least_unacked = GetLeastUnacked(stop_waiting->path_id); |
- if (version() <= QUIC_VERSION_33) { |
- stop_waiting->entropy_hash = sent_entropy_manager_.GetCumulativeEntropy( |
- stop_waiting->least_unacked - 1); |
- } |
} |
QuicPacketNumber QuicConnection::GetLeastUnacked(QuicPathId path_id) const { |
@@ -1480,7 +1406,6 @@ bool QuicConnection::ProcessValidatedPacket(const QuicPacketHeader& header) { |
DCHECK_EQ(1u, header.public_header.versions.size()); |
DCHECK_EQ(header.public_header.versions[0], version()); |
version_negotiation_state_ = NEGOTIATED_VERSION; |
- received_packet_manager_.SetVersion(version()); |
visitor_->OnSuccessfulVersionNegotiation(version()); |
if (debug_visitor_ != nullptr) { |
debug_visitor_->OnSuccessfulVersionNegotiation(version()); |
@@ -1492,7 +1417,6 @@ bool QuicConnection::ProcessValidatedPacket(const QuicPacketHeader& header) { |
// it should stop sending version since the version negotiation is done. |
packet_generator_.StopSendingVersion(); |
version_negotiation_state_ = NEGOTIATED_VERSION; |
- received_packet_manager_.SetVersion(version()); |
visitor_->OnSuccessfulVersionNegotiation(version()); |
if (debug_visitor_ != nullptr) { |
debug_visitor_->OnSuccessfulVersionNegotiation(version()); |
@@ -1877,10 +1801,6 @@ void QuicConnection::SendOrQueuePacket(SerializedPacket* packet) { |
QUIC_BUG << "packet.encrypted_buffer == nullptr in to SendOrQueuePacket"; |
return; |
} |
- if (version() <= QUIC_VERSION_33) { |
- sent_entropy_manager_.RecordPacketEntropyHash(packet->packet_number, |
- packet->entropy_hash); |
- } |
// If there are already queued packets, queue this one immediately to ensure |
// it's written in sequence number order. |
if (!queued_packets_.empty() || !WritePacket(packet)) { |