mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-11-24 04:01:07 +03:00
Cipher dropping take 2
Summary: Now we won't have a zero PTO and we will properly clear out the outstanding packets. Note that this cipher dropping is not what the draft prescribes, instead dropping both the initial and handshake ciphers when we know 1-rtt communication is functioning. Reviewed By: yangchi Differential Revision: D20388737 fbshipit-source-id: 0b89eb80c8faa796ab09eda3eaa10a00dcf7bae9
This commit is contained in:
committed by
Facebook GitHub Bot
parent
87582c9b5f
commit
50d5c29346
@@ -142,10 +142,13 @@ void updateSimpleFrameOnPacketLoss(
|
||||
// Do not retransmit PATH_RESPONSE to avoid buffering
|
||||
break;
|
||||
}
|
||||
case QuicSimpleFrame::Type::HandshakeDoneFrame_E: {
|
||||
const auto& handshakeDoneFrame = *frame.asHandshakeDoneFrame();
|
||||
conn.pendingEvents.frames.push_back(handshakeDoneFrame);
|
||||
}
|
||||
case QuicSimpleFrame::Type::NewConnectionIdFrame_E:
|
||||
case QuicSimpleFrame::Type::MaxStreamsFrame_E:
|
||||
case QuicSimpleFrame::Type::RetireConnectionIdFrame_E:
|
||||
case QuicSimpleFrame::Type::HandshakeDoneFrame_E:
|
||||
conn.pendingEvents.frames.push_back(frame);
|
||||
break;
|
||||
}
|
||||
@@ -298,7 +301,10 @@ bool updateSimpleFrameOnPacketReceived(
|
||||
TransportErrorCode::PROTOCOL_VIOLATION,
|
||||
FrameType::HANDSHAKE_DONE);
|
||||
}
|
||||
// TODO cipher dropping
|
||||
// Mark the handshake confirmed in the handshake layer before doing
|
||||
// any dropping, as this gives us a chance to process ACKs in this
|
||||
// packet.
|
||||
conn.handshakeLayer->handshakeConfirmed();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user