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

Unified Diff: net/quic/quic_connection.cc

Issue 424003002: Inline the members of QUIC's ReceivedPacketInfo into QuicAckFrame now (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@remove_FixRate_congestion_type_71746617
Patch Set: Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | net/quic/quic_connection_logger.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/quic_connection.cc
diff --git a/net/quic/quic_connection.cc b/net/quic/quic_connection.cc
index 0548c0cef4aee09f3510913939a1269f475af88e..5eb161842ae30c4b9e1b161aab1b9aab6e101ad6 100644
--- a/net/quic/quic_connection.cc
+++ b/net/quic/quic_connection.cc
@@ -549,13 +549,12 @@ bool QuicConnection::OnAckFrame(const QuicAckFrame& incoming_ack) {
void QuicConnection::ProcessAckFrame(const QuicAckFrame& incoming_ack) {
largest_seen_packet_with_ack_ = last_header_.packet_sequence_number;
- received_packet_manager_.UpdatePacketInformationReceivedByPeer(
- incoming_ack.received_info);
+ received_packet_manager_.UpdatePacketInformationReceivedByPeer(incoming_ack);
sent_entropy_manager_.ClearEntropyBefore(
received_packet_manager_.least_packet_awaited_by_peer() - 1);
- sent_packet_manager_.OnIncomingAck(incoming_ack.received_info,
+ sent_packet_manager_.OnIncomingAck(incoming_ack,
time_of_last_received_packet_);
if (sent_packet_manager_.HasPendingRetransmissions()) {
WriteIfNotBlocked();
@@ -620,57 +619,55 @@ bool QuicConnection::OnPingFrame(const QuicPingFrame& frame) {
}
bool QuicConnection::ValidateAckFrame(const QuicAckFrame& incoming_ack) {
- if (incoming_ack.received_info.largest_observed >
- packet_generator_.sequence_number()) {
+ if (incoming_ack.largest_observed > packet_generator_.sequence_number()) {
DLOG(ERROR) << ENDPOINT << "Peer's observed unsent packet:"
- << incoming_ack.received_info.largest_observed << " vs "
+ << incoming_ack.largest_observed << " vs "
<< packet_generator_.sequence_number();
// We got an error for data we have not sent. Error out.
return false;
}
- if (incoming_ack.received_info.largest_observed <
+ if (incoming_ack.largest_observed <
received_packet_manager_.peer_largest_observed_packet()) {
DLOG(ERROR) << ENDPOINT << "Peer's largest_observed packet decreased:"
- << incoming_ack.received_info.largest_observed << " vs "
+ << incoming_ack.largest_observed << " vs "
<< received_packet_manager_.peer_largest_observed_packet();
// A new ack has a diminished largest_observed value. Error out.
// If this was an old packet, we wouldn't even have checked.
return false;
}
- if (!incoming_ack.received_info.missing_packets.empty() &&
- *incoming_ack.received_info.missing_packets.rbegin() >
- incoming_ack.received_info.largest_observed) {
+ if (!incoming_ack.missing_packets.empty() &&
+ *incoming_ack.missing_packets.rbegin() > incoming_ack.largest_observed) {
DLOG(ERROR) << ENDPOINT << "Peer sent missing packet: "
- << *incoming_ack.received_info.missing_packets.rbegin()
+ << *incoming_ack.missing_packets.rbegin()
<< " which is greater than largest observed: "
- << incoming_ack.received_info.largest_observed;
+ << incoming_ack.largest_observed;
return false;
}
- if (!incoming_ack.received_info.missing_packets.empty() &&
- *incoming_ack.received_info.missing_packets.begin() <
+ if (!incoming_ack.missing_packets.empty() &&
+ *incoming_ack.missing_packets.begin() <
received_packet_manager_.least_packet_awaited_by_peer()) {
DLOG(ERROR) << ENDPOINT << "Peer sent missing packet: "
- << *incoming_ack.received_info.missing_packets.begin()
+ << *incoming_ack.missing_packets.begin()
<< " which is smaller than least_packet_awaited_by_peer_: "
<< received_packet_manager_.least_packet_awaited_by_peer();
return false;
}
if (!sent_entropy_manager_.IsValidEntropy(
- incoming_ack.received_info.largest_observed,
- incoming_ack.received_info.missing_packets,
- incoming_ack.received_info.entropy_hash)) {
+ incoming_ack.largest_observed,
+ incoming_ack.missing_packets,
+ incoming_ack.entropy_hash)) {
DLOG(ERROR) << ENDPOINT << "Peer sent invalid entropy.";
return false;
}
for (SequenceNumberSet::const_iterator iter =
- incoming_ack.received_info.revived_packets.begin();
- iter != incoming_ack.received_info.revived_packets.end(); ++iter) {
- if (!ContainsKey(incoming_ack.received_info.missing_packets, *iter)) {
+ incoming_ack.revived_packets.begin();
+ iter != incoming_ack.revived_packets.end(); ++iter) {
+ if (!ContainsKey(incoming_ack.missing_packets, *iter)) {
DLOG(ERROR) << ENDPOINT
<< "Peer specified revived packet which was not missing.";
return false;
@@ -895,7 +892,7 @@ void QuicConnection::ClearLastFrames() {
QuicAckFrame* QuicConnection::CreateAckFrame() {
QuicAckFrame* outgoing_ack = new QuicAckFrame();
received_packet_manager_.UpdateReceivedPacketInfo(
- &(outgoing_ack->received_info), clock_->ApproximateNow());
+ outgoing_ack, clock_->ApproximateNow());
DVLOG(1) << ENDPOINT << "Creating ack frame: " << *outgoing_ack;
return outgoing_ack;
}
@@ -919,8 +916,7 @@ bool QuicConnection::ShouldLastPacketInstigateAck() const {
return true;
}
- if (!last_ack_frames_.empty() &&
- last_ack_frames_.back().received_info.is_truncated) {
+ if (!last_ack_frames_.empty() && last_ack_frames_.back().is_truncated) {
return true;
}
return false;
@@ -933,9 +929,8 @@ void QuicConnection::UpdateStopWaitingCount() {
// If the peer is still waiting for a packet that we are no longer planning to
// send, send an ack to raise the high water mark.
- if (!last_ack_frames_.back().received_info.missing_packets.empty() &&
- GetLeastUnacked() >
- *last_ack_frames_.back().received_info.missing_packets.begin()) {
+ if (!last_ack_frames_.back().missing_packets.empty() &&
+ GetLeastUnacked() > *last_ack_frames_.back().missing_packets.begin()) {
++stop_waiting_count_;
} else {
stop_waiting_count_ = 0;
« no previous file with comments | « no previous file | net/quic/quic_connection_logger.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698