Tree node for sharing serialized tags. More...
#include <packet-tag-list.h>
Public Types | |
enum | TagData_e { MAX_SIZE = 20 } |
Packet Tag maximum size. More... | |
Public Attributes | |
uint32_t | count |
Number of incoming links. More... | |
uint8_t | data [MAX_SIZE] |
Serialization buffer. More... | |
struct TagData * | next |
Pointer to next in list. More... | |
TypeId | tid |
Type of the tag serialized into data. More... | |
Tree node for sharing serialized tags.
See PacketTagList for a discussion of the data structure.
See TagData::TagData_e for a discussion of the size limit on tag serialization.
Definition at line 140 of file packet-tag-list.h.
The maximum size (in bytes) of a Tag is stored in this constant.
next
pointer.) This would leave 18 bytes for data
. However, ns3:Ipv6PacketInfoTag needs 19 bytes! The current implementation allows 20 bytes, which gives TagData a size of 30 bytes on 32-byte machines (which gets padded with 2 bytes), and 34 bytes on 64-bit machines, which gets padded to 40 bytes. Enumerator | |
---|---|
MAX_SIZE |
Size of serialization buffer data. |
Definition at line 159 of file packet-tag-list.h.
uint32_t ns3::PacketTagList::TagData::count |
Number of incoming links.
Definition at line 167 of file packet-tag-list.h.
Referenced by ns3::PacketTagList::Add(), ns3::PacketTagList::COWTraverse(), ns3::PacketTagList::operator=(), ns3::PacketTagList::PacketTagList(), ns3::PacketTagList::RemoveAll(), ns3::PacketTagList::RemoveWriter(), and ns3::PacketTagList::ReplaceWriter().
uint8_t ns3::PacketTagList::TagData::data[MAX_SIZE] |
Serialization buffer.
Definition at line 164 of file packet-tag-list.h.
Referenced by ns3::PacketTagList::Add(), ns3::PacketTagList::COWTraverse(), ns3::PacketTagList::RemoveWriter(), and ns3::PacketTagList::ReplaceWriter().
struct TagData* ns3::PacketTagList::TagData::next |
Pointer to next in list.
Definition at line 165 of file packet-tag-list.h.
Referenced by ns3::PacketTagList::Add(), ns3::PacketTagList::COWTraverse(), ns3::PacketTagIterator::Next(), ns3::PacketTagList::Peek(), ns3::PacketTagList::RemoveAll(), ns3::PacketTagList::RemoveWriter(), and ns3::PacketTagList::ReplaceWriter().
TypeId ns3::PacketTagList::TagData::tid |
Type of the tag serialized into data.
Definition at line 166 of file packet-tag-list.h.
Referenced by ns3::PacketTagList::Add(), ns3::PacketTagList::COWTraverse(), and ns3::PacketTagList::ReplaceWriter().