test self-assignment of packets
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Tue, 06 May 2008 15:04:36 -0700
changeset 3046 a03270ebc161
parent 3045 895cb1b6a903
child 3047 84600b3f966c
test self-assignment of packets
src/common/packet.cc
src/common/packet.h
--- a/src/common/packet.cc	Tue May 06 14:54:52 2008 -0700
+++ b/src/common/packet.cc	Tue May 06 15:04:36 2008 -0700
@@ -669,6 +669,19 @@
   CHECK (p, 2, E (1, 0, 1000), E(2, 0, 1000));
   CHECK (copy, 1, E (1, 0, 1000));
 
+  {
+    Packet c0 = *copy;
+    Packet c1 = *copy;
+    c0 = c1;
+    CHECK (&c0, 1, E (1, 0, 1000));
+    CHECK (&c1, 1, E (1, 0, 1000));
+    CHECK (copy, 1, E (1, 0, 1000));
+    c0.AddTag (ATestTag<10> ());
+    CHECK (&c0, 2, E (1, 0, 1000), E (10, 0, 1000));
+    CHECK (&c1, 1, E (1, 0, 1000));
+    CHECK (copy, 1, E (1, 0, 1000));
+  }
+
   Ptr<Packet> frag0 = p->CreateFragment (0, 10);
   Ptr<Packet> frag1 = p->CreateFragment (10, 90);
   Ptr<const Packet> frag2 = p->CreateFragment (100, 900);
--- a/src/common/packet.h	Tue May 06 14:54:52 2008 -0700
+++ b/src/common/packet.h	Tue May 06 15:04:36 2008 -0700
@@ -142,6 +142,8 @@
    * by getUid).
    */
   Packet ();
+  Packet (const Packet &o);
+  Packet &operator = (const Packet &o);  
   /**
    * Create a packet with a zero-filled payload.
    * The memory necessary for the payload is not allocated:
@@ -371,8 +373,6 @@
 
 private:
   Packet (const Buffer &buffer, const TagList &tagList, const PacketMetadata &metadata);
-  Packet (const Packet &o);
-  Packet &operator = (const Packet &o);
   Buffer m_buffer;
   TagList m_tagList;
   PacketMetadata m_metadata;