mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-11-25 15:43:13 +03:00
remove variant type for QuicPacket
Summary: Remove the variant type for RegularQuicPacket and VersionNegotiationPacket. This allows us to move version negotiation parsing to be only used on the client and only done explicitly before a version is negotiated. Reviewed By: yangchi Differential Revision: D17242788 fbshipit-source-id: 502caf6849f0b7e6778f1470dc160d01f17a33af
This commit is contained in:
committed by
Facebook Github Bot
parent
04baa15a04
commit
6f6ed4d56e
@@ -136,13 +136,12 @@ TEST_F(DecodeTest, VersionNegotiationPacketDecodeTest) {
|
||||
auto codec = std::make_unique<QuicReadCodec>(QuicNodeType::Server);
|
||||
AckStates ackStates;
|
||||
auto packetQueue = bufToQueue(std::move(packet.second));
|
||||
auto quicPacket = boost::get<QuicPacket>(
|
||||
codec->parsePacket(packetQueue, ackStates));
|
||||
auto versionPacket = boost::get<VersionNegotiationPacket>(quicPacket);
|
||||
EXPECT_EQ(versionPacket.destinationConnectionId, destCid);
|
||||
EXPECT_EQ(versionPacket.sourceConnectionId, srcCid);
|
||||
EXPECT_EQ(versionPacket.versions.size(), versions.size());
|
||||
EXPECT_EQ(versionPacket.versions, versions);
|
||||
auto versionPacket = codec->tryParsingVersionNegotiation(packetQueue);
|
||||
ASSERT_TRUE(versionPacket.hasValue());
|
||||
EXPECT_EQ(versionPacket->destinationConnectionId, destCid);
|
||||
EXPECT_EQ(versionPacket->sourceConnectionId, srcCid);
|
||||
EXPECT_EQ(versionPacket->versions.size(), versions.size());
|
||||
EXPECT_EQ(versionPacket->versions, versions);
|
||||
}
|
||||
|
||||
TEST_F(DecodeTest, DifferentCIDLength) {
|
||||
@@ -159,13 +158,12 @@ TEST_F(DecodeTest, DifferentCIDLength) {
|
||||
auto codec = std::make_unique<QuicReadCodec>(QuicNodeType::Server);
|
||||
AckStates ackStates;
|
||||
auto packetQueue = bufToQueue(std::move(packet.second));
|
||||
auto quicPacket = boost::get<QuicPacket>(
|
||||
codec->parsePacket(packetQueue, ackStates));
|
||||
auto versionPacket = boost::get<VersionNegotiationPacket>(quicPacket);
|
||||
EXPECT_EQ(versionPacket.sourceConnectionId, sourceConnectionId);
|
||||
EXPECT_EQ(versionPacket.destinationConnectionId, destinationConnectionId);
|
||||
EXPECT_EQ(versionPacket.versions.size(), versions.size());
|
||||
EXPECT_EQ(versionPacket.versions, versions);
|
||||
auto versionPacket = codec->tryParsingVersionNegotiation(packetQueue);
|
||||
ASSERT_TRUE(versionPacket.hasValue());
|
||||
EXPECT_EQ(versionPacket->sourceConnectionId, sourceConnectionId);
|
||||
EXPECT_EQ(versionPacket->destinationConnectionId, destinationConnectionId);
|
||||
EXPECT_EQ(versionPacket->versions.size(), versions.size());
|
||||
EXPECT_EQ(versionPacket->versions, versions);
|
||||
}
|
||||
|
||||
TEST_F(DecodeTest, VersionNegotiationPacketBadPacketTest) {
|
||||
@@ -184,13 +182,13 @@ TEST_F(DecodeTest, VersionNegotiationPacketBadPacketTest) {
|
||||
AckStates ackStates;
|
||||
auto packetQueue = bufToQueue(std::move(buf));
|
||||
auto packet = codec->parsePacket(packetQueue, ackStates);
|
||||
EXPECT_THROW(boost::get<QuicPacket>(packet), boost::bad_get);
|
||||
EXPECT_THROW(boost::get<RegularQuicPacket>(packet), boost::bad_get);
|
||||
|
||||
buf = folly::IOBuf::create(0);
|
||||
packetQueue = bufToQueue(std::move(buf));
|
||||
packet = codec->parsePacket(packetQueue, ackStates);
|
||||
// Packet with empty versions
|
||||
EXPECT_THROW(boost::get<QuicPacket>(packet), boost::bad_get);
|
||||
EXPECT_THROW(boost::get<RegularQuicPacket>(packet), boost::bad_get);
|
||||
}
|
||||
|
||||
TEST_F(DecodeTest, ValidAckFrame) {
|
||||
|
||||
Reference in New Issue
Block a user