#include <packet-tag-list.h>
Classes | |
struct | TagData |
Public Member Functions | |
PacketTagList () | |
PacketTagList (PacketTagList const &o) | |
~PacketTagList () | |
void | Add (Tag const &tag) const |
struct PacketTagList::TagData * | Head (void) const |
PacketTagList & | operator= (PacketTagList const &o) |
bool | Peek (Tag &tag) const |
bool | Remove (Tag &tag) |
void | RemoveAll (void) |
Private Member Functions | |
struct PacketTagList::TagData * | AllocData (void) const |
void | FreeData (struct TagData *data) const |
bool | Remove (TypeId tid) |
Private Attributes | |
struct TagData * | m_next |
Static Private Attributes | |
static struct PacketTagList::TagData * | g_free |
static uint32_t | g_nfree |
Definition at line 39 of file packet-tag-list.h.
|
inline |
Definition at line 81 of file packet-tag-list.h.
|
inline |
Definition at line 86 of file packet-tag-list.h.
References ns3::PacketTagList::TagData::count, and m_next.
|
inline |
Definition at line 112 of file packet-tag-list.h.
References RemoveAll().
void ns3::PacketTagList::Add | ( | Tag const & | tag | ) | const |
Definition at line 133 of file packet-tag-list.cc.
References AllocData(), ns3::PacketTagList::TagData::count, ns3::PacketTagList::TagData::data, ns3::ObjectBase::GetInstanceTypeId(), ns3::Tag::GetSerializedSize(), m_next, ns3::PacketTagList::TagData::next, NS_ASSERT, NS_LOG_FUNCTION, PACKET_TAG_MAX_SIZE, ns3::Tag::Serialize(), and ns3::PacketTagList::TagData::tid.
Referenced by ns3::Packet::AddPacketTag().
|
readprivate |
Definition at line 70 of file packet-tag-list.cc.
References NS_LOG_FUNCTION_NOARGS.
Referenced by Add(), and Remove().
|
private |
Definition at line 79 of file packet-tag-list.cc.
References data, and NS_LOG_FUNCTION.
Referenced by RemoveAll().
|
read |
Definition at line 171 of file packet-tag-list.cc.
References m_next.
Referenced by ns3::Packet::GetPacketTagIterator().
|
inline |
Definition at line 96 of file packet-tag-list.h.
References ns3::PacketTagList::TagData::count, m_next, and RemoveAll().
bool ns3::PacketTagList::Peek | ( | Tag & | tag | ) | const |
Definition at line 153 of file packet-tag-list.cc.
References ns3::Tag::Deserialize(), ns3::ObjectBase::GetInstanceTypeId(), m_next, ns3::PacketTagList::TagData::next, NS_LOG_FUNCTION, and PACKET_TAG_MAX_SIZE.
Referenced by ns3::Packet::PeekPacketTag().
bool ns3::PacketTagList::Remove | ( | Tag & | tag | ) |
XXX Note: I believe that we could optimize this to avoid copying each TagData located after the target id and just link the already-copied list to the next tag.
Definition at line 87 of file packet-tag-list.cc.
References AllocData(), ns3::PacketTagList::TagData::count, ns3::PacketTagList::TagData::data, ns3::Tag::Deserialize(), ns3::ObjectBase::GetInstanceTypeId(), m_next, ns3::PacketTagList::TagData::next, NS_LOG_FUNCTION, PACKET_TAG_MAX_SIZE, RemoveAll(), visualizer.core::start(), and ns3::PacketTagList::TagData::tid.
Referenced by ns3::Packet::RemovePacketTag().
|
private |
|
inline |
Definition at line 118 of file packet-tag-list.h.
References ns3::PacketTagList::TagData::count, FreeData(), m_next, and ns3::PacketTagList::TagData::next.
Referenced by operator=(), Remove(), ns3::Packet::RemoveAllPacketTags(), and ~PacketTagList().
|
staticprivate |
Definition at line 67 of file packet-tag-list.h.
|
staticprivate |
Definition at line 68 of file packet-tag-list.h.
|
private |
Definition at line 70 of file packet-tag-list.h.
Referenced by Add(), Head(), operator=(), PacketTagList(), Peek(), Remove(), and RemoveAll().