| Index: net/quic/quic_connection.cc
|
| diff --git a/net/quic/quic_connection.cc b/net/quic/quic_connection.cc
|
| index 0da406a4b099372c03da57a7be1012c0c7062e7b..f7dd621506652b61b19e78f30a307081653fd346 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();
|
| }
|
| }
|
| @@ -1477,7 +1479,7 @@ bool QuicConnection::WritePacketInner(QueuedPacket* packet) {
|
| 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,
|
| @@ -1763,7 +1765,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 +1801,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 +1875,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);
|
|
|