From 55f2084e86bb03f34eef5a2f623e8b8bd6d4185a Mon Sep 17 00:00:00 2001 From: Mathieu Lacage Date: Tue, 12 Jun 2007 13:21:06 +0200 Subject: [PATCH] avoid duplicating the packet uid --- src/common/packet-metadata.cc | 6 ++++++ src/common/packet-metadata.h | 2 ++ src/common/packet.cc | 18 +++++++----------- src/common/packet.h | 3 +-- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/common/packet-metadata.cc b/src/common/packet-metadata.cc index a076633bd..06209b732 100644 --- a/src/common/packet-metadata.cc +++ b/src/common/packet-metadata.cc @@ -1001,6 +1001,12 @@ PacketMetadata::GetTotalSize (void) const return totalSize; } +uint32_t +PacketMetadata::GetUid (void) const +{ + return m_packetUid; +} + void PacketMetadata::Print (std::ostream &os, Buffer data, const PacketPrinter &printer) const { diff --git a/src/common/packet-metadata.h b/src/common/packet-metadata.h index 098775934..cb96ddd10 100644 --- a/src/common/packet-metadata.h +++ b/src/common/packet-metadata.h @@ -58,6 +58,8 @@ public: void RemoveAtStart (uint32_t start); void RemoveAtEnd (uint32_t end); + uint32_t GetUid (void) const; + void PrintDefault (std::ostream &os, Buffer buffer) const; void Print (std::ostream &os, Buffer buffer, PacketPrinter const &printer) const; diff --git a/src/common/packet.cc b/src/common/packet.cc index 18c5f6c6d..c24ac6415 100644 --- a/src/common/packet.cc +++ b/src/common/packet.cc @@ -28,23 +28,20 @@ uint32_t Packet::m_globalUid = 0; Packet::Packet () : m_buffer (), - m_history (m_globalUid, 0), - m_uid (m_globalUid) + m_history (m_globalUid, 0) { m_globalUid++; } Packet::Packet (uint32_t size) : m_buffer (size), - m_history (m_globalUid, size), - m_uid (m_globalUid) + m_history (m_globalUid, size) { m_globalUid++; } Packet::Packet (uint8_t const*buffer, uint32_t size) : m_buffer (), - m_history (m_globalUid, size), - m_uid (m_globalUid) + m_history (m_globalUid, size) { m_globalUid++; m_buffer.AddAtStart (size); @@ -52,11 +49,10 @@ Packet::Packet (uint8_t const*buffer, uint32_t size) i.Write (buffer, size); } -Packet::Packet (Buffer buffer, Tags tags, PacketMetadata history, uint32_t uid) +Packet::Packet (Buffer buffer, Tags tags, PacketMetadata history) : m_buffer (buffer), m_tags (tags), - m_history (history), - m_uid (uid) + m_history (history) {} Packet @@ -66,7 +62,7 @@ Packet::CreateFragment (uint32_t start, uint32_t length) const NS_ASSERT (m_buffer.GetSize () >= start + length); uint32_t end = m_buffer.GetSize () - (start + length); PacketMetadata history = m_history.CreateFragment (start, end); - return Packet (buffer, m_tags, history, m_uid); + return Packet (buffer, m_tags, history); } uint32_t @@ -126,7 +122,7 @@ Packet::PeekData (void) const uint32_t Packet::GetUid (void) const { - return m_uid; + return m_history.GetUid (); } void diff --git a/src/common/packet.h b/src/common/packet.h index fbc9f9b98..07a2ae383 100644 --- a/src/common/packet.h +++ b/src/common/packet.h @@ -295,11 +295,10 @@ public: */ static void EnableMetadata (void); private: - Packet (Buffer buffer, Tags tags, PacketMetadata history, uint32_t uid); + Packet (Buffer buffer, Tags tags, PacketMetadata history); Buffer m_buffer; Tags m_tags; PacketMetadata m_history; - uint32_t m_uid; static uint32_t m_globalUid; };