| Index: net/quic/quic_sent_packet_manager.cc
|
| diff --git a/net/quic/quic_sent_packet_manager.cc b/net/quic/quic_sent_packet_manager.cc
|
| index f233d8ba7bd327959c4c512e24d4164fab4b7d4b..a0ce684fe7f9d848c5a4427630254d1f77a5af94 100644
|
| --- a/net/quic/quic_sent_packet_manager.cc
|
| +++ b/net/quic/quic_sent_packet_manager.cc
|
| @@ -87,7 +87,8 @@ QuicSentPacketManager::QuicSentPacketManager(
|
| consecutive_crypto_retransmission_count_(0),
|
| pending_tlp_transmission_(false),
|
| max_tail_loss_probes_(kDefaultMaxTailLossProbes),
|
| - using_pacing_(false) {
|
| + using_pacing_(false),
|
| + handshake_confirmed_(false) {
|
| }
|
|
|
| QuicSentPacketManager::~QuicSentPacketManager() {
|
| @@ -606,7 +607,9 @@ bool QuicSentPacketManager::MaybeRetransmitTailLossProbe() {
|
| if (!it->second.in_flight || frames == NULL) {
|
| continue;
|
| }
|
| - DCHECK_NE(IS_HANDSHAKE, frames->HasCryptoHandshake());
|
| + if (!handshake_confirmed_) {
|
| + DCHECK_NE(IS_HANDSHAKE, frames->HasCryptoHandshake());
|
| + }
|
| MarkForRetransmission(sequence_number, TLP_RETRANSMISSION);
|
| return true;
|
| }
|
| @@ -652,7 +655,7 @@ void QuicSentPacketManager::RetransmitAllPackets() {
|
| QuicSentPacketManager::RetransmissionTimeoutMode
|
| QuicSentPacketManager::GetRetransmissionMode() const {
|
| DCHECK(unacked_packets_.HasInFlightPackets());
|
| - if (unacked_packets_.HasPendingCryptoPackets()) {
|
| + if (!handshake_confirmed_ && unacked_packets_.HasPendingCryptoPackets()) {
|
| return HANDSHAKE_MODE;
|
| }
|
| if (loss_algorithm_->GetLossTimeout() != QuicTime::Zero()) {
|
|
|