mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-07-30 14:43:05 +03:00
Rename PacketEvent -> ClonedPacketIdentifier [take 2]
Summary: This is my second attempt at D61871891. This time, I ran `xplat/cross_plat_devx/somerge_maps/compute_merge_maps.py`, which generated quic/somerge_defs.bzl Reviewed By: kvtsoy Differential Revision: D61975459 fbshipit-source-id: bec62acb2b400f4a102574e8c882927f41b9330e
This commit is contained in:
committed by
Facebook GitHub Bot
parent
0d7a0e9287
commit
8e650ed585
@ -490,7 +490,7 @@ TEST_F(QuicPacketSchedulerTest, NoCloningForDSR) {
|
||||
conn.ackStates.appDataAckState.largestAckedByPeer.value_or(0));
|
||||
auto result = cloningScheduler.scheduleFramesForPacket(
|
||||
std::move(builder), kDefaultUDPSendPacketLen);
|
||||
EXPECT_FALSE(result.packetEvent.hasValue());
|
||||
EXPECT_FALSE(result.clonedPacketIdentifier.hasValue());
|
||||
EXPECT_FALSE(result.packet.hasValue());
|
||||
}
|
||||
|
||||
@ -518,8 +518,9 @@ TEST_F(QuicPacketSchedulerTest, CloningSchedulerTest) {
|
||||
conn.ackStates.appDataAckState.largestAckedByPeer.value_or(0));
|
||||
auto result = cloningScheduler.scheduleFramesForPacket(
|
||||
std::move(builder), kDefaultUDPSendPacketLen);
|
||||
EXPECT_TRUE(result.packetEvent.has_value() && result.packet.has_value());
|
||||
EXPECT_EQ(packetNum, result.packetEvent->packetNumber);
|
||||
EXPECT_TRUE(
|
||||
result.clonedPacketIdentifier.has_value() && result.packet.has_value());
|
||||
EXPECT_EQ(packetNum, result.clonedPacketIdentifier->packetNumber);
|
||||
}
|
||||
|
||||
TEST_F(QuicPacketSchedulerTest, WriteOnlyOutstandingPacketsTest) {
|
||||
@ -568,8 +569,9 @@ TEST_F(QuicPacketSchedulerTest, WriteOnlyOutstandingPacketsTest) {
|
||||
|
||||
auto result = cloningScheduler.scheduleFramesForPacket(
|
||||
std::move(regularBuilder), kDefaultUDPSendPacketLen);
|
||||
EXPECT_TRUE(result.packetEvent.hasValue() && result.packet.hasValue());
|
||||
EXPECT_EQ(packetNum, result.packetEvent->packetNumber);
|
||||
EXPECT_TRUE(
|
||||
result.clonedPacketIdentifier.hasValue() && result.packet.hasValue());
|
||||
EXPECT_EQ(packetNum, result.clonedPacketIdentifier->packetNumber);
|
||||
// written packet should not have any frame in the builder
|
||||
auto& writtenPacket = *result.packet;
|
||||
auto shortHeader = writtenPacket.packet.header.asShort();
|
||||
@ -601,14 +603,15 @@ TEST_F(QuicPacketSchedulerTest, DoNotCloneProcessedClonedPacket) {
|
||||
FrameScheduler noopScheduler("frame", conn);
|
||||
CloningScheduler cloningScheduler(noopScheduler, conn, "CopyCat", 0);
|
||||
// Add two outstanding packets, but then mark the second one processed by
|
||||
// adding a PacketEvent that's missing from the outstandings.packetEvents set
|
||||
// adding a ClonedPacketIdentifier that's missing from the
|
||||
// outstandings.clonedPacketIdentifiers set
|
||||
PacketNum expected = addOutstandingPacket(conn);
|
||||
// There needs to have retransmittable frame for the rebuilder to work
|
||||
conn.outstandings.packets.back().packet.frames.push_back(
|
||||
MaxDataFrame(conn.flowControlState.advertisedMaxOffset));
|
||||
addOutstandingPacket(conn);
|
||||
conn.outstandings.packets.back().associatedEvent =
|
||||
PacketEvent(PacketNumberSpace::AppData, 1);
|
||||
conn.outstandings.packets.back().maybeClonedPacketIdentifier =
|
||||
ClonedPacketIdentifier(PacketNumberSpace::AppData, 1);
|
||||
// There needs to have retransmittable frame for the rebuilder to work
|
||||
conn.outstandings.packets.back().packet.frames.push_back(
|
||||
MaxDataFrame(conn.flowControlState.advertisedMaxOffset));
|
||||
@ -623,8 +626,9 @@ TEST_F(QuicPacketSchedulerTest, DoNotCloneProcessedClonedPacket) {
|
||||
conn.ackStates.initialAckState->largestAckedByPeer.value_or(0));
|
||||
auto result = cloningScheduler.scheduleFramesForPacket(
|
||||
std::move(builder), kDefaultUDPSendPacketLen);
|
||||
EXPECT_TRUE(result.packetEvent.has_value() && result.packet.has_value());
|
||||
EXPECT_EQ(expected, result.packetEvent->packetNumber);
|
||||
EXPECT_TRUE(
|
||||
result.clonedPacketIdentifier.has_value() && result.packet.has_value());
|
||||
EXPECT_EQ(expected, result.clonedPacketIdentifier->packetNumber);
|
||||
}
|
||||
|
||||
TEST_F(QuicPacketSchedulerTest, CloneSchedulerHasHandshakeData) {
|
||||
@ -702,7 +706,7 @@ TEST_F(QuicPacketSchedulerTest, CloneSchedulerHasHandshakeDataAndAcks) {
|
||||
// Clone the packet.
|
||||
auto result = cloningScheduler.scheduleFramesForPacket(
|
||||
std::move(builder), kDefaultUDPSendPacketLen);
|
||||
EXPECT_TRUE(result.packetEvent.has_value());
|
||||
EXPECT_TRUE(result.clonedPacketIdentifier.has_value());
|
||||
EXPECT_TRUE(result.packet.has_value());
|
||||
|
||||
// Cloned packet has to have crypto data and no acks.
|
||||
@ -773,8 +777,9 @@ TEST_F(QuicPacketSchedulerTest, DoNotCloneHandshake) {
|
||||
conn.ackStates.appDataAckState.largestAckedByPeer.value_or(0));
|
||||
auto result = cloningScheduler.scheduleFramesForPacket(
|
||||
std::move(builder), kDefaultUDPSendPacketLen);
|
||||
EXPECT_TRUE(result.packetEvent.has_value() && result.packet.has_value());
|
||||
EXPECT_EQ(expected, result.packetEvent->packetNumber);
|
||||
EXPECT_TRUE(
|
||||
result.clonedPacketIdentifier.has_value() && result.packet.has_value());
|
||||
EXPECT_EQ(expected, result.clonedPacketIdentifier->packetNumber);
|
||||
}
|
||||
|
||||
TEST_F(QuicPacketSchedulerTest, CloneSchedulerUseNormalSchedulerFirst) {
|
||||
@ -813,7 +818,7 @@ TEST_F(QuicPacketSchedulerTest, CloneSchedulerUseNormalSchedulerFirst) {
|
||||
conn.ackStates.appDataAckState.largestAckedByPeer.value_or(0));
|
||||
auto result = cloningScheduler.scheduleFramesForPacket(
|
||||
std::move(builder), kDefaultUDPSendPacketLen);
|
||||
EXPECT_EQ(none, result.packetEvent);
|
||||
EXPECT_EQ(none, result.clonedPacketIdentifier);
|
||||
EXPECT_EQ(result.packet->packet.header.getHeaderForm(), HeaderForm::Short);
|
||||
ShortHeader& shortHeader = *result.packet->packet.header.asShort();
|
||||
EXPECT_EQ(ProtectionType::KeyPhaseOne, shortHeader.getProtectionType());
|
||||
@ -839,7 +844,7 @@ TEST_F(QuicPacketSchedulerTest, CloneWillGenerateNewWindowUpdate) {
|
||||
auto stream = conn.streamManager->createNextBidirectionalStream().value();
|
||||
FrameScheduler noopScheduler("frame", conn);
|
||||
CloningScheduler cloningScheduler(noopScheduler, conn, "GiantsShoulder", 0);
|
||||
PacketEvent expectedPacketEvent(
|
||||
ClonedPacketIdentifier expectedClonedPacketIdentifier(
|
||||
PacketNumberSpace::AppData, addOutstandingPacket(conn));
|
||||
ASSERT_EQ(1, conn.outstandings.packets.size());
|
||||
conn.outstandings.packets.back().packet.frames.push_back(MaxDataFrame(1000));
|
||||
@ -863,7 +868,8 @@ TEST_F(QuicPacketSchedulerTest, CloneWillGenerateNewWindowUpdate) {
|
||||
conn.ackStates.appDataAckState.largestAckedByPeer.value_or(0));
|
||||
auto packetResult = cloningScheduler.scheduleFramesForPacket(
|
||||
std::move(builder), conn.udpSendPacketLen);
|
||||
EXPECT_EQ(expectedPacketEvent, *packetResult.packetEvent);
|
||||
EXPECT_EQ(
|
||||
expectedClonedPacketIdentifier, *packetResult.clonedPacketIdentifier);
|
||||
int32_t verifyConnWindowUpdate = 1, verifyStreamWindowUpdate = 1;
|
||||
for (const auto& frame : packetResult.packet->packet.frames) {
|
||||
switch (frame.type()) {
|
||||
@ -944,8 +950,9 @@ TEST_F(QuicPacketSchedulerTest, CloningSchedulerWithInplaceBuilder) {
|
||||
conn.ackStates.appDataAckState.largestAckedByPeer.value_or(0));
|
||||
auto result = cloningScheduler.scheduleFramesForPacket(
|
||||
std::move(builder), kDefaultUDPSendPacketLen);
|
||||
EXPECT_TRUE(result.packetEvent.has_value() && result.packet.has_value());
|
||||
EXPECT_EQ(packetNum, result.packetEvent->packetNumber);
|
||||
EXPECT_TRUE(
|
||||
result.clonedPacketIdentifier.has_value() && result.packet.has_value());
|
||||
EXPECT_EQ(packetNum, result.clonedPacketIdentifier->packetNumber);
|
||||
|
||||
// Something was written into the buffer:
|
||||
EXPECT_TRUE(bufAccessor.ownsBuffer());
|
||||
@ -1023,8 +1030,9 @@ TEST_F(QuicPacketSchedulerTest, CloningSchedulerWithInplaceBuilderFullPacket) {
|
||||
auto cloneResult = cloningScheduler.scheduleFramesForPacket(
|
||||
std::move(internalBuilder), conn.udpSendPacketLen);
|
||||
EXPECT_TRUE(
|
||||
cloneResult.packetEvent.has_value() && cloneResult.packet.has_value());
|
||||
EXPECT_EQ(packetNum, cloneResult.packetEvent->packetNumber);
|
||||
cloneResult.clonedPacketIdentifier.has_value() &&
|
||||
cloneResult.packet.has_value());
|
||||
EXPECT_EQ(packetNum, cloneResult.clonedPacketIdentifier->packetNumber);
|
||||
|
||||
// Something was written into the buffer:
|
||||
EXPECT_TRUE(bufAccessor.ownsBuffer());
|
||||
@ -1089,7 +1097,7 @@ TEST_F(QuicPacketSchedulerTest, CloneLargerThanOriginalPacket) {
|
||||
auto cloneResult = cloningScheduler.scheduleFramesForPacket(
|
||||
std::move(throwawayBuilder), kDefaultUDPSendPacketLen);
|
||||
EXPECT_FALSE(cloneResult.packet.hasValue());
|
||||
EXPECT_FALSE(cloneResult.packetEvent.hasValue());
|
||||
EXPECT_FALSE(cloneResult.clonedPacketIdentifier.hasValue());
|
||||
}
|
||||
|
||||
class AckSchedulingTest : public TestWithParam<PacketNumberSpace> {};
|
||||
@ -1855,7 +1863,7 @@ TEST_F(
|
||||
conn.ackStates.appDataAckState.largestAckedByPeer.value_or(0));
|
||||
auto result = cloningScheduler.scheduleFramesForPacket(
|
||||
std::move(builder), kDefaultUDPSendPacketLen);
|
||||
EXPECT_FALSE(result.packetEvent.has_value());
|
||||
EXPECT_FALSE(result.clonedPacketIdentifier.has_value());
|
||||
|
||||
// Nothing was written into the buffer:
|
||||
EXPECT_TRUE(bufAccessor.ownsBuffer());
|
||||
@ -1895,7 +1903,7 @@ TEST_F(
|
||||
conn.ackStates.appDataAckState.largestAckedByPeer.value_or(0));
|
||||
auto result = cloningScheduler.scheduleFramesForPacket(
|
||||
std::move(builder), kDefaultUDPSendPacketLen);
|
||||
EXPECT_FALSE(result.packetEvent.has_value());
|
||||
EXPECT_FALSE(result.clonedPacketIdentifier.has_value());
|
||||
|
||||
// Nothing was written into the buffer:
|
||||
EXPECT_TRUE(bufAccessor.ownsBuffer());
|
||||
|
Reference in New Issue
Block a user