Act on IETF QUIC max_packet_size

After we receive the IETF QUIC max_packet_size transport parameter, we should not send packets larger than that value. This CL enforces this.

gfe-relnote: act on IETF QUIC max_packet_size, protected by disabled TLS versions
PiperOrigin-RevId: 290114223
Change-Id: I8ac886b49ae7a6099a393dbd7af1e0f765181241
diff --git a/quic/core/quic_connection_test.cc b/quic/core/quic_connection_test.cc
index 8d25157..0817d57 100644
--- a/quic/core/quic_connection_test.cc
+++ b/quic/core/quic_connection_test.cc
@@ -2383,6 +2383,19 @@
   EXPECT_EQ(1350u, connection_.max_packet_length());
 }
 
+TEST_P(QuicConnectionTest, PeerLowersMaxPacketSize) {
+  EXPECT_EQ(Perspective::IS_CLIENT, connection_.perspective());
+
+  // SetFromConfig is always called after construction from InitializeSession.
+  EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
+  constexpr uint32_t kTestMaxPacketSize = 1233u;
+  QuicConfig config;
+  QuicConfigPeer::SetReceivedMaxPacketSize(&config, kTestMaxPacketSize);
+  connection_.SetFromConfig(config);
+
+  EXPECT_EQ(kTestMaxPacketSize, connection_.max_packet_length());
+}
+
 TEST_P(QuicConnectionTest, SmallerServerMaxPacketSize) {
   TestConnection connection(TestConnectionId(), kPeerAddress, helper_.get(),
                             alarm_factory_.get(), writer_.get(),