Update MESSAGE frame to latest IETF draft
This CL adds support for the max_datagram_frame_size transport parameter required by the IETF draft, and changes the frame type to 0x30-0x31 for v99 only.
gfe-relnote: changes around MESSAGE frames, protected by v99 and TLS flags
PiperOrigin-RevId: 280454854
Change-Id: Idd4cca1afb76847eccdd9702db6b4437af314258
diff --git a/quic/core/quic_config_test.cc b/quic/core/quic_config_test.cc
index 282e88c..41a5d77 100644
--- a/quic/core/quic_config_test.cc
+++ b/quic/core/quic_config_test.cc
@@ -22,6 +22,7 @@
namespace {
const uint32_t kMaxPacketSizeForTest = 1234;
+const uint32_t kMaxDatagramFrameSizeForTest = 1333;
class QuicConfigTest : public QuicTestWithParam<QuicTransportVersion> {
protected:
@@ -396,6 +397,7 @@
config_.SetInitialMaxStreamDataBytesUnidirectionalToSend(
4 * kMinimumFlowControlSendWindow);
config_.SetMaxPacketSizeToSend(kMaxPacketSizeForTest);
+ config_.SetMaxDatagramFrameSizeToSend(kMaxDatagramFrameSizeForTest);
TransportParameters params;
config_.FillTransportParameters(¶ms);
@@ -411,6 +413,8 @@
params.idle_timeout_milliseconds.value());
EXPECT_EQ(kMaxPacketSizeForTest, params.max_packet_size.value());
+ EXPECT_EQ(kMaxDatagramFrameSizeForTest,
+ params.max_datagram_frame_size.value());
}
TEST_P(QuicConfigTest, ProcessTransportParametersServer) {
@@ -423,6 +427,7 @@
params.initial_max_stream_data_uni.set_value(4 *
kMinimumFlowControlSendWindow);
params.max_packet_size.set_value(kMaxPacketSizeForTest);
+ params.max_datagram_frame_size.set_value(kMaxDatagramFrameSizeForTest);
std::string error_details;
EXPECT_EQ(QUIC_NO_ERROR,
@@ -444,6 +449,11 @@
ASSERT_TRUE(config_.HasReceivedMaxPacketSize());
EXPECT_EQ(kMaxPacketSizeForTest, config_.ReceivedMaxPacketSize());
+
+ ASSERT_TRUE(config_.HasReceivedMaxDatagramFrameSize());
+ EXPECT_EQ(kMaxDatagramFrameSizeForTest,
+ config_.ReceivedMaxDatagramFrameSize());
+
EXPECT_FALSE(config_.DisableConnectionMigration());
}