diff --git a/src/common/packet.cc b/src/common/packet.cc index a1b379781..8fd274a17 100644 --- a/src/common/packet.cc +++ b/src/common/packet.cc @@ -669,6 +669,19 @@ PacketTest::RunTests (void) 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 frag0 = p->CreateFragment (0, 10); Ptr frag1 = p->CreateFragment (10, 90); Ptr frag2 = p->CreateFragment (100, 900); diff --git a/src/common/packet.h b/src/common/packet.h index ec77dfc5a..e79d82125 100644 --- a/src/common/packet.h +++ b/src/common/packet.h @@ -142,6 +142,8 @@ public: * 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 @@ public: 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;