--- a/src/common/packet.cc Fri Sep 08 18:45:48 2006 +0200
+++ b/src/common/packet.cc Fri Sep 08 18:51:47 2006 +0200
@@ -23,18 +23,26 @@
namespace ns3 {
+uint32_t Packet::m_global_uid = 0;
+
Packet::Packet ()
- : m_buffer () {}
+ : m_buffer (),
+ m_uid (m_global_uid)
+{
+ m_global_uid++;
+}
Packet::Packet (uint32_t size)
- : m_buffer (size)
-{}
+ : m_buffer (size),
+ m_uid (m_global_uid)
+{
+ m_global_uid++;
+}
Packet::Packet (Buffer buffer, Tags tags)
: m_buffer (buffer),
m_tags (tags)
{}
-
Packet
Packet::createFragment (uint32_t start, uint32_t length) const
{
@@ -120,4 +128,10 @@
return m_buffer.peekData ();
}
+uint32_t
+Packet::getUid (void)
+{
+ return m_uid;
+}
+
}; // namespace ns3
--- a/src/common/packet.h Fri Sep 08 18:45:48 2006 +0200
+++ b/src/common/packet.h Fri Sep 08 18:51:47 2006 +0200
@@ -222,10 +222,14 @@
* \returns a pointer to the internal buffer of the packet.
*/
uint8_t const *peekData (void) const;
+
+ uint32_t getUid (void) const;
private:
Packet (Buffer buffer, Tags tags);
Buffer m_buffer;
Tags m_tags;
+ uint32_t m_uid;
+ static uint32_t m_global_uid;
};
}; // namespace ns3