mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-08-06 22:22:38 +03:00
Handle lossTime before crypto timer in Quic
Summary: Currently we handle crypto timer before loss timer. And currently loss time is for AppData only since for the other two Packet Number spaces, crypto timer will take care of it. This diff extends loss times to 3 loss times, and handle them before handle crypto timer. The rational here is that loss time is shorter than crypto timer, so this will make retransmission during crypto handshake more aggressive. For app data, this diff doesn't change anything. Reviewed By: sharma95 Differential Revision: D15552405 fbshipit-source-id: bd5c24b0622c72325ffdea36d0802d4939bae854
This commit is contained in:
committed by
Facebook Github Bot
parent
cb8d280620
commit
42b2617e44
@@ -1001,7 +1001,9 @@ TEST_F(QuicTransportTest, ClonePathChallenge) {
|
||||
conn.outstandingHandshakePacketsCount = 0;
|
||||
conn.outstandingPureAckPacketsCount = 0;
|
||||
conn.outstandingPackets.clear();
|
||||
conn.lossState.lossTime.clear();
|
||||
conn.lossState.initialLossTime.clear();
|
||||
conn.lossState.handshakeLossTime.clear();
|
||||
conn.lossState.appDataLossTime.clear();
|
||||
|
||||
PathChallengeFrame pathChallenge(123);
|
||||
conn.pendingEvents.pathChallenge = pathChallenge;
|
||||
@@ -1062,7 +1064,9 @@ TEST_F(QuicTransportTest, OnlyClonePathValidationIfOutstanding) {
|
||||
conn.outstandingHandshakePacketsCount = 0;
|
||||
conn.outstandingPureAckPacketsCount = 0;
|
||||
conn.outstandingPackets.clear();
|
||||
conn.lossState.lossTime.clear();
|
||||
conn.lossState.initialLossTime.clear();
|
||||
conn.lossState.handshakeLossTime.clear();
|
||||
conn.lossState.appDataLossTime.clear();
|
||||
|
||||
PathChallengeFrame pathChallenge(123);
|
||||
conn.pendingEvents.pathChallenge = pathChallenge;
|
||||
@@ -1225,7 +1229,9 @@ TEST_F(QuicTransportTest, ClonePathResponse) {
|
||||
conn.outstandingHandshakePacketsCount = 0;
|
||||
conn.outstandingPureAckPacketsCount = 0;
|
||||
conn.outstandingPackets.clear();
|
||||
conn.lossState.lossTime.clear();
|
||||
conn.lossState.initialLossTime.clear();
|
||||
conn.lossState.handshakeLossTime.clear();
|
||||
conn.lossState.appDataLossTime.clear();
|
||||
|
||||
EXPECT_EQ(conn.pendingEvents.frames.size(), 0);
|
||||
PathResponseFrame pathResponse(123);
|
||||
@@ -1337,7 +1343,9 @@ TEST_F(QuicTransportTest, CloneNewConnectionIdFrame) {
|
||||
conn.outstandingHandshakePacketsCount = 0;
|
||||
conn.outstandingPureAckPacketsCount = 0;
|
||||
conn.outstandingPackets.clear();
|
||||
conn.lossState.lossTime.clear();
|
||||
conn.lossState.initialLossTime.clear();
|
||||
conn.lossState.handshakeLossTime.clear();
|
||||
conn.lossState.appDataLossTime.clear();
|
||||
|
||||
NewConnectionIdFrame newConnId(
|
||||
1, ConnectionId({2, 4, 2, 3}), StatelessResetToken());
|
||||
|
Reference in New Issue
Block a user