mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-08-08 09:42:06 +03:00
Do not retransmit PATH_RESPONSE
Summary: https://github.com/quicwg/base-drafts/issues/2724 Reviewed By: mjoras Differential Revision: D15719978 fbshipit-source-id: 1c57f3e2b497f1abfcd5fa3b5643d76aa51d11d9
This commit is contained in:
committed by
Facebook Github Bot
parent
3507e89c07
commit
0cc3eabc56
@@ -1283,10 +1283,10 @@ TEST_F(QuicTransportTest, ClonePathResponse) {
|
||||
[&](auto&) { return false; });
|
||||
}) != p.packet.frames.end();
|
||||
});
|
||||
EXPECT_EQ(numPathResponsePackets, 3);
|
||||
EXPECT_EQ(numPathResponsePackets, 1);
|
||||
}
|
||||
|
||||
TEST_F(QuicTransportTest, ResendPathResponseOnLoss) {
|
||||
TEST_F(QuicTransportTest, DoNotResendPathResponseOnLoss) {
|
||||
auto& conn = transport_->getConnectionState();
|
||||
|
||||
EXPECT_EQ(conn.pendingEvents.frames.size(), 0);
|
||||
@@ -1302,11 +1302,7 @@ TEST_F(QuicTransportTest, ResendPathResponseOnLoss) {
|
||||
getLastOutstandingPacket(conn, PacketNumberSpace::AppData)->packet;
|
||||
|
||||
markPacketLoss(conn, packet, false, 2);
|
||||
EXPECT_EQ(conn.pendingEvents.frames.size(), 1);
|
||||
EXPECT_TRUE(folly::variant_match(
|
||||
conn.pendingEvents.frames.front(),
|
||||
[&](PathResponseFrame& f) { return f == pathResponse; },
|
||||
[&](auto&) { return false; }));
|
||||
EXPECT_EQ(conn.pendingEvents.frames.size(), 0);
|
||||
}
|
||||
|
||||
TEST_F(QuicTransportTest, SendNewConnectionIdFrame) {
|
||||
|
@@ -56,8 +56,9 @@ folly::Optional<QuicSimpleFrame> updateSimpleFrameOnPacketClone(
|
||||
}
|
||||
return QuicSimpleFrame(frame);
|
||||
},
|
||||
[&](const PathResponseFrame& frame) -> folly::Optional<QuicSimpleFrame> {
|
||||
return QuicSimpleFrame(frame);
|
||||
[&](const PathResponseFrame&) -> folly::Optional<QuicSimpleFrame> {
|
||||
// Do not clone PATH_RESPONSE to avoid buffering
|
||||
return folly::none;
|
||||
},
|
||||
[&](const NewConnectionIdFrame& frame)
|
||||
-> folly::Optional<QuicSimpleFrame> {
|
||||
@@ -118,8 +119,8 @@ void updateSimpleFrameOnPacketLoss(
|
||||
conn.pendingEvents.pathChallenge = frame;
|
||||
}
|
||||
},
|
||||
[&](const PathResponseFrame& frame) {
|
||||
conn.pendingEvents.frames.push_back(frame);
|
||||
[&](const PathResponseFrame&) {
|
||||
// Do not retransmit PATH_RESPONSE to avoid buffering
|
||||
},
|
||||
[&](const NewConnectionIdFrame& frame) {
|
||||
conn.pendingEvents.frames.push_back(frame);
|
||||
|
Reference in New Issue
Block a user