add packet uid
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Fri, 08 Sep 2006 18:51:47 +0200
changeset 91 8066ef8d9274
parent 90 d670ba9f726e
child 92 cd2ed251318a
add packet uid
src/common/packet.cc
src/common/packet.h
--- 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