No public description
PiperOrigin-RevId: 753710370
diff --git a/quiche/quic/core/quic_dispatcher.cc b/quiche/quic/core/quic_dispatcher.cc
index 763e630..e27a522 100644
--- a/quiche/quic/core/quic_dispatcher.cc
+++ b/quiche/quic/core/quic_dispatcher.cc
@@ -1549,21 +1549,22 @@
GetPerPacketContext());
}
-void QuicDispatcher::MaybeSendVersionNegotiationPacket(
+bool QuicDispatcher::MaybeSendVersionNegotiationPacket(
const ReceivedPacketInfo& packet_info) {
if (packet_info.form == IETF_QUIC_LONG_HEADER_PACKET &&
packet_info.long_packet_type == VERSION_NEGOTIATION) {
- return;
+ return false;
}
if (crypto_config()->validate_chlo_size() &&
packet_info.packet.length() < kMinPacketSizeForVersionNegotiation) {
- return;
+ return false;
}
time_wait_list_manager()->SendVersionNegotiationPacket(
packet_info.destination_connection_id, packet_info.source_connection_id,
packet_info.form != GOOGLE_QUIC_PACKET, packet_info.use_length_prefix,
GetSupportedVersions(), packet_info.self_address,
packet_info.peer_address, GetPerPacketContext());
+ return true;
}
size_t QuicDispatcher::NumSessions() const {
diff --git a/quiche/quic/core/quic_dispatcher.h b/quiche/quic/core/quic_dispatcher.h
index 3a38087..dce6f4f 100644
--- a/quiche/quic/core/quic_dispatcher.h
+++ b/quiche/quic/core/quic_dispatcher.h
@@ -348,8 +348,9 @@
virtual void MaybeResetPacketsWithNoVersion(
const quic::ReceivedPacketInfo& packet_info);
- // Called on packets with unsupported versions.
- virtual void MaybeSendVersionNegotiationPacket(
+ // Called on packets with unsupported versions. Returns true if a version
+ // negotiation packet is sent.
+ virtual bool MaybeSendVersionNegotiationPacket(
const ReceivedPacketInfo& packet_info);
virtual ConnectionIdGeneratorInterface& ConnectionIdGenerator() {