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

Unified Diff: net/quic/quic_connection.cc

Issue 968513002: Land Recent QUIC Changes until 2/21/2015. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed const from members of TransmissionInfo struct. Created 5 years, 10 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 | « net/quic/quic_connection.h ('k') | net/quic/quic_connection_stats.h » ('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 0da406a4b099372c03da57a7be1012c0c7062e7b..aca4d203b993f08ccae94da39319110ebf025d0d 100644
--- a/net/quic/quic_connection.cc
+++ b/net/quic/quic_connection.cc
@@ -243,6 +243,8 @@ QuicConnection::QuicConnection(QuicConnectionId connection_id,
resume_writes_alarm_(helper->CreateAlarm(new SendAlarm(this))),
timeout_alarm_(helper->CreateAlarm(new TimeoutAlarm(this))),
ping_alarm_(helper->CreateAlarm(new PingAlarm(this))),
+ visitor_(nullptr),
+ debug_visitor_(nullptr),
packet_generator_(connection_id_, &framer_, random_generator_, this),
fec_alarm_(helper->CreateAlarm(new FecAlarm(&packet_generator_))),
idle_network_timeout_(QuicTime::Delta::Infinite()),
@@ -374,7 +376,7 @@ void QuicConnection::OnPacket() {
void QuicConnection::OnPublicResetPacket(
const QuicPublicResetPacket& packet) {
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnPublicResetPacket(packet);
}
CloseConnection(QUIC_PUBLIC_RESET, true);
@@ -395,7 +397,7 @@ bool QuicConnection::OnProtocolVersionMismatch(QuicVersion received_version) {
}
DCHECK_NE(version(), received_version);
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnProtocolVersionMismatch(received_version);
}
@@ -426,7 +428,7 @@ bool QuicConnection::OnProtocolVersionMismatch(QuicVersion received_version) {
version_negotiation_state_ = NEGOTIATED_VERSION;
visitor_->OnSuccessfulVersionNegotiation(received_version);
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnSuccessfulVersionNegotiation(received_version);
}
DVLOG(1) << ENDPOINT << "version negotiated " << received_version;
@@ -449,7 +451,7 @@ void QuicConnection::OnVersionNegotiationPacket(
CloseConnection(QUIC_INTERNAL_ERROR, false);
return;
}
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnVersionNegotiationPacket(packet);
}
@@ -505,7 +507,7 @@ void QuicConnection::OnDecryptedPacket(EncryptionLevel level) {
}
bool QuicConnection::OnPacketHeader(const QuicPacketHeader& header) {
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnPacketHeader(header);
}
@@ -520,7 +522,7 @@ bool QuicConnection::OnPacketHeader(const QuicPacketHeader& header) {
DVLOG(1) << ENDPOINT << "Ignoring packet from unexpected ConnectionId: "
<< header.public_header.connection_id << " instead of "
<< connection_id_;
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnIncorrectConnectionId(
header.public_header.connection_id);
}
@@ -542,7 +544,7 @@ bool QuicConnection::OnPacketHeader(const QuicPacketHeader& header) {
header.packet_sequence_number)) {
DVLOG(1) << ENDPOINT << "Packet " << header.packet_sequence_number
<< " no longer being waited for. Discarding.";
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnDuplicatePacket(header.packet_sequence_number);
}
return false;
@@ -562,7 +564,7 @@ bool QuicConnection::OnPacketHeader(const QuicPacketHeader& header) {
DCHECK_EQ(header.public_header.versions[0], version());
version_negotiation_state_ = NEGOTIATED_VERSION;
visitor_->OnSuccessfulVersionNegotiation(version());
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnSuccessfulVersionNegotiation(version());
}
}
@@ -573,7 +575,7 @@ bool QuicConnection::OnPacketHeader(const QuicPacketHeader& header) {
packet_generator_.StopSendingVersion();
version_negotiation_state_ = NEGOTIATED_VERSION;
visitor_->OnSuccessfulVersionNegotiation(version());
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnSuccessfulVersionNegotiation(version());
}
}
@@ -599,7 +601,7 @@ void QuicConnection::OnFecProtectedPayload(StringPiece payload) {
bool QuicConnection::OnStreamFrame(const QuicStreamFrame& frame) {
DCHECK(connected_);
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnStreamFrame(frame);
}
if (frame.stream_id != kCryptoStreamId &&
@@ -615,7 +617,7 @@ bool QuicConnection::OnStreamFrame(const QuicStreamFrame& frame) {
bool QuicConnection::OnAckFrame(const QuicAckFrame& incoming_ack) {
DCHECK(connected_);
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnAckFrame(incoming_ack);
}
DVLOG(1) << ENDPOINT << "OnAckFrame: " << incoming_ack;
@@ -673,7 +675,7 @@ bool QuicConnection::OnStopWaitingFrame(const QuicStopWaitingFrame& frame) {
return false;
}
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnStopWaitingFrame(frame);
}
@@ -683,7 +685,7 @@ bool QuicConnection::OnStopWaitingFrame(const QuicStopWaitingFrame& frame) {
bool QuicConnection::OnPingFrame(const QuicPingFrame& frame) {
DCHECK(connected_);
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnPingFrame(frame);
}
last_ping_frames_.push_back(frame);
@@ -782,7 +784,7 @@ void QuicConnection::OnFecData(const QuicFecData& fec) {
bool QuicConnection::OnRstStreamFrame(const QuicRstStreamFrame& frame) {
DCHECK(connected_);
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnRstStreamFrame(frame);
}
DVLOG(1) << ENDPOINT << "Stream reset with error "
@@ -794,7 +796,7 @@ bool QuicConnection::OnRstStreamFrame(const QuicRstStreamFrame& frame) {
bool QuicConnection::OnConnectionCloseFrame(
const QuicConnectionCloseFrame& frame) {
DCHECK(connected_);
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnConnectionCloseFrame(frame);
}
DVLOG(1) << ENDPOINT << "Connection " << connection_id()
@@ -807,7 +809,7 @@ bool QuicConnection::OnConnectionCloseFrame(
bool QuicConnection::OnGoAwayFrame(const QuicGoAwayFrame& frame) {
DCHECK(connected_);
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnGoAwayFrame(frame);
}
DVLOG(1) << ENDPOINT << "Go away received with error "
@@ -819,7 +821,7 @@ bool QuicConnection::OnGoAwayFrame(const QuicGoAwayFrame& frame) {
bool QuicConnection::OnWindowUpdateFrame(const QuicWindowUpdateFrame& frame) {
DCHECK(connected_);
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnWindowUpdateFrame(frame);
}
DVLOG(1) << ENDPOINT << "WindowUpdate received for stream: "
@@ -830,7 +832,7 @@ bool QuicConnection::OnWindowUpdateFrame(const QuicWindowUpdateFrame& frame) {
bool QuicConnection::OnBlockedFrame(const QuicBlockedFrame& frame) {
DCHECK(connected_);
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnBlockedFrame(frame);
}
DVLOG(1) << ENDPOINT << "Blocked frame received for stream: "
@@ -1152,7 +1154,7 @@ void QuicConnection::ProcessUdpPacket(const IPEndPoint& self_address,
if (!connected_) {
return;
}
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnPacketReceived(self_address, peer_address, packet);
}
last_size_ = packet.length();
@@ -1169,7 +1171,7 @@ void QuicConnection::ProcessUdpPacket(const IPEndPoint& self_address,
if (encryption_level_ != ENCRYPTION_FORWARD_SECURE &&
undecryptable_packets_.size() < max_undecryptable_packets_) {
QueueUndecryptablePacket(packet);
- } else if (debug_visitor_.get() != nullptr) {
+ } else if (debug_visitor_ != nullptr) {
debug_visitor_->OnUndecryptablePacket();
}
}
@@ -1442,13 +1444,10 @@ bool QuicConnection::WritePacketInner(QueuedPacket* packet) {
DVLOG(2) << ENDPOINT << "packet(" << sequence_number << "): " << std::endl
<< QuicUtils::StringToHexASCIIDump(encrypted->AsStringPiece());
- QuicTime packet_send_time = QuicTime::Zero();
- if (FLAGS_quic_record_send_time_before_write) {
- // Measure the RTT from before the write begins to avoid underestimating the
- // min_rtt_, especially in cases where the thread blocks or gets swapped out
- // during the WritePacket below.
- packet_send_time = clock_->Now();
- }
+ // Measure the RTT from before the write begins to avoid underestimating the
+ // min_rtt_, especially in cases where the thread blocks or gets swapped out
+ // during the WritePacket below.
+ QuicTime packet_send_time = clock_->Now();
WriteResult result = writer_->WritePacket(encrypted->data(),
encrypted->length(),
self_address().address(),
@@ -1467,17 +1466,7 @@ bool QuicConnection::WritePacketInner(QueuedPacket* packet) {
return false;
}
}
- if (!FLAGS_quic_record_send_time_before_write) {
- packet_send_time = clock_->Now();
- }
- if (!packet_send_time.IsInitialized()) {
- // TODO(jokulik): This is only needed because of the two code paths for
- // initializing packet_send_time. Once "quic_record_send_time_before_write"
- // is deprecated, this check can be removed.
- LOG(DFATAL) << "The packet send time should never be zero. "
- << "This is a programming bug, please report it.";
- }
- if (result.status != WRITE_STATUS_ERROR && debug_visitor_.get() != nullptr) {
+ if (result.status != WRITE_STATUS_ERROR && debug_visitor_ != nullptr) {
// Pass the write result to the visitor.
debug_visitor_->OnPacketSent(packet->serialized_packet,
packet->original_sequence_number,
@@ -1491,10 +1480,7 @@ bool QuicConnection::WritePacketInner(QueuedPacket* packet) {
}
SetPingAlarm();
MaybeSetFecAlarm(sequence_number);
- DVLOG(1) << ENDPOINT << "time "
- << (FLAGS_quic_record_send_time_before_write ?
- "we began writing " : "we finished writing ")
- << "last sent packet: "
+ DVLOG(1) << ENDPOINT << "time we began writing last sent packet: "
<< packet_send_time.ToDebuggingValue();
// TODO(ianswett): Change the sequence number length and other packet creator
@@ -1763,7 +1749,7 @@ void QuicConnection::MaybeProcessUndecryptablePackets() {
// new keys installed and hence any undecryptable packets will
// never be able to be decrypted.
if (encryption_level_ == ENCRYPTION_FORWARD_SECURE) {
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
// TODO(rtenneti): perhaps more efficient to pass the number of
// undecryptable packets as the argument to OnUndecryptablePacket so that
// we just need to call OnUndecryptablePacket once?
@@ -1799,7 +1785,7 @@ void QuicConnection::MaybeProcessRevivedPacket() {
delete group;
last_packet_revived_ = true;
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnRevivedPacket(revived_header,
StringPiece(revived_payload, len));
}
@@ -1873,7 +1859,7 @@ void QuicConnection::CloseConnection(QuicErrorCode error, bool from_peer) {
return;
}
connected_ = false;
- if (debug_visitor_.get() != nullptr) {
+ if (debug_visitor_ != nullptr) {
debug_visitor_->OnConnectionClosed(error, from_peer);
}
visitor_->OnConnectionClosed(error, from_peer);
« no previous file with comments | « net/quic/quic_connection.h ('k') | net/quic/quic_connection_stats.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698