gfe-relnote: In QUIC, replace member variables current* with on stack struct ReceivedPacketInfo in QuicDispatcher. Refactor only, not protected.
PiperOrigin-RevId: 254801890
Change-Id: I762a32bcd53528a2d80f75c9c57dad176a9b6fb1
diff --git a/quic/core/quic_packets.h b/quic/core/quic_packets.h
index b1964e7..cf6099e 100644
--- a/quic/core/quic_packets.h
+++ b/quic/core/quic_packets.h
@@ -402,6 +402,35 @@
virtual ~QuicPerPacketContext() {}
};
+// ReceivedPacketInfo comprises information obtained by parsing the unencrypted
+// bytes of a received packet.
+struct QUIC_EXPORT_PRIVATE ReceivedPacketInfo {
+ ReceivedPacketInfo(const QuicSocketAddress& self_address,
+ const QuicSocketAddress& peer_address,
+ const QuicReceivedPacket& packet);
+ ReceivedPacketInfo(const ReceivedPacketInfo& other) = default;
+
+ ~ReceivedPacketInfo();
+
+ std::string ToString() const;
+
+ QUIC_EXPORT_PRIVATE friend std::ostream& operator<<(
+ std::ostream& os,
+ const ReceivedPacketInfo& packet_info);
+
+ const QuicSocketAddress& self_address;
+ const QuicSocketAddress& peer_address;
+ const QuicReceivedPacket& packet;
+
+ // Fields below are populated by QuicFramer::ProcessPacketDispatcher.
+ PacketHeaderFormat form;
+ bool version_flag;
+ QuicVersionLabel version_label;
+ ParsedQuicVersion version;
+ QuicConnectionId destination_connection_id;
+ QuicConnectionId source_connection_id;
+};
+
} // namespace quic
#endif // QUICHE_QUIC_CORE_QUIC_PACKETS_H_