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.cc b/quic/core/quic_packets.cc
index 0b1c05d..7abf303 100644
--- a/quic/core/quic_packets.cc
+++ b/quic/core/quic_packets.cc
@@ -13,6 +13,7 @@
#include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_str_cat.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_string_piece.h"
+#include "net/third_party/quiche/src/quic/platform/api/quic_string_utils.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_text_utils.h"
namespace quic {
@@ -487,4 +488,41 @@
return dst_buffer;
}
+ReceivedPacketInfo::ReceivedPacketInfo(const QuicSocketAddress& self_address,
+ const QuicSocketAddress& peer_address,
+ const QuicReceivedPacket& packet)
+ : self_address(self_address),
+ peer_address(peer_address),
+ packet(packet),
+ form(GOOGLE_QUIC_PACKET),
+ version_flag(false),
+ version_label(0),
+ version(PROTOCOL_UNSUPPORTED, QUIC_VERSION_UNSUPPORTED),
+ destination_connection_id(EmptyQuicConnectionId()),
+ source_connection_id(EmptyQuicConnectionId()) {}
+
+ReceivedPacketInfo::~ReceivedPacketInfo() {}
+
+std::string ReceivedPacketInfo::ToString() const {
+ std::string output =
+ QuicStrCat("{ self_address: ", self_address.ToString(),
+ ", peer_address: ", peer_address.ToString(),
+ ", packet_length: ", packet.length(),
+ ", header_format: ", form, ", version_flag: ", version_flag);
+ if (version_flag) {
+ QuicStrAppend(&output, ", version: ", ParsedQuicVersionToString(version));
+ }
+ QuicStrAppend(
+ &output,
+ ", destination_connection_id: ", destination_connection_id.ToString(),
+ ", source_connection_id: ", source_connection_id.ToString(), " }\n");
+ return output;
+}
+
+std::ostream& operator<<(std::ostream& os,
+ const ReceivedPacketInfo& packet_info) {
+ os << packet_info.ToString();
+ return os;
+}
+
} // namespace quic