handle packet metadata about packet headers and trailers More...
#include <packet-metadata.h>
Classes | |
struct | Data |
class | DataFreeList |
struct | ExtraItem |
struct | Item |
class | ItemIterator |
struct | SmallItem |
Public Member Functions | |
PacketMetadata (uint64_t uid, uint32_t size) | |
PacketMetadata (PacketMetadata const &o) | |
~PacketMetadata () | |
void | AddAtEnd (PacketMetadata const &o) |
void | AddHeader (Header const &header, uint32_t size) |
void | AddPaddingAtEnd (uint32_t end) |
void | AddTrailer (Trailer const &trailer, uint32_t size) |
ItemIterator | BeginItem (Buffer buffer) const |
PacketMetadata | CreateFragment (uint32_t start, uint32_t end) const |
uint32_t | Deserialize (const uint8_t *buffer, uint32_t size) |
uint32_t | GetSerializedSize (void) const |
uint64_t | GetUid (void) const |
PacketMetadata & | operator= (PacketMetadata const &o) |
void | RemoveAtEnd (uint32_t end) |
void | RemoveAtStart (uint32_t start) |
void | RemoveHeader (Header const &header, uint32_t size) |
void | RemoveTrailer (Trailer const &trailer, uint32_t size) |
uint32_t | Serialize (uint8_t *buffer, uint32_t maxSize) const |
Static Public Member Functions | |
static void | Enable (void) |
static void | EnableChecking (void) |
Private Member Functions | |
PacketMetadata () | |
friend | DataFreeList::~DataFreeList () |
uint16_t | AddBig (uint32_t head, uint32_t tail, const PacketMetadata::SmallItem *item, const PacketMetadata::ExtraItem *extraItem) |
uint16_t | AddSmall (const PacketMetadata::SmallItem *item) |
void | Append16 (uint16_t value, uint8_t *buffer) |
void | Append32 (uint32_t value, uint8_t *buffer) |
void | AppendValue (uint32_t value, uint8_t *buffer) |
void | AppendValueExtra (uint32_t value, uint8_t *buffer) |
void | DoAddHeader (uint32_t uid, uint32_t size) |
uint32_t | GetTotalSize (void) const |
uint32_t | GetUleb128Size (uint32_t value) const |
bool | IsPointerOk (uint16_t pointer) const |
bool | IsSharedPointerOk (uint16_t pointer) const |
bool | IsStateOk (void) const |
uint32_t | ReadItems (uint16_t current, struct PacketMetadata::SmallItem *item, struct PacketMetadata::ExtraItem *extraItem) const |
uint32_t | ReadUleb128 (const uint8_t **pBuffer) const |
void | ReplaceTail (PacketMetadata::SmallItem *item, PacketMetadata::ExtraItem *extraItem, uint32_t available) |
void | Reserve (uint32_t n) |
void | ReserveCopy (uint32_t n) |
void | UpdateHead (uint16_t written) |
void | UpdateTail (uint16_t written) |
Static Private Member Functions | |
static uint8_t * | AddToRaw (const uint8_t *data, uint32_t dataSize, uint8_t *start, uint8_t *current, uint32_t maxSize) |
static uint8_t * | AddToRawU16 (const uint16_t &data, uint8_t *start, uint8_t *current, uint32_t maxSize) |
static uint8_t * | AddToRawU32 (const uint32_t &data, uint8_t *start, uint8_t *current, uint32_t maxSize) |
static uint8_t * | AddToRawU64 (const uint64_t &data, uint8_t *start, uint8_t *current, uint32_t maxSize) |
static uint8_t * | AddToRawU8 (const uint8_t &data, uint8_t *start, uint8_t *current, uint32_t maxSize) |
static struct PacketMetadata::Data * | Allocate (uint32_t n) |
static struct PacketMetadata::Data * | Create (uint32_t size) |
static void | Deallocate (struct PacketMetadata::Data *data) |
static uint8_t * | ReadFromRawU16 (uint16_t &data, const uint8_t *start, const uint8_t *current, uint32_t maxSize) |
static uint8_t * | ReadFromRawU32 (uint32_t &data, const uint8_t *start, const uint8_t *current, uint32_t maxSize) |
static uint8_t * | ReadFromRawU64 (uint64_t &data, const uint8_t *start, const uint8_t *current, uint32_t maxSize) |
static uint8_t * | ReadFromRawU8 (uint8_t &data, const uint8_t *start, const uint8_t *current, uint32_t maxSize) |
static void | Recycle (struct PacketMetadata::Data *data) |
Private Attributes | |
struct Data * | m_data |
uint16_t | m_head |
uint64_t | m_packetUid |
uint16_t | m_tail |
uint16_t | m_used |
Static Private Attributes | |
static uint16_t | m_chunkUid = 0 |
static bool | m_enable = false |
static bool | m_enableChecking = false |
static DataFreeList | m_freeList |
static uint32_t | m_maxSize = 0 |
static bool | m_metadataSkipped = false |
Friends | |
class | ItemIterator |
handle packet metadata about packet headers and trailers
This class is used by the Packet class to record every operation performed on the packet's buffer. This class also provides an implementation of the Packet::Print methods which uses the metadata to analyse the content of the packet's buffer.
To achieve this, this class maintains a linked list of so-called "items", each of which represents a header or a trailer, or payload, or a fragment of any of these. Each item contains a "next" and a "prev" field which point to the next and previous entries in the linked list. The PacketMetadata class maintains a pair of pointers to the head and the tail of the linked list.
Each entry in the list also maintains:
This linked list is flattened in a byte buffer stored in struct PacketMetadata::Data. Each entry of the linked list is identified by an offset which identifies the first byte of the entry from the start of the data buffer. The size of this data buffer is 2^16-1 bytes maximum which somewhat limits the number of entries which can be stored in this linked list but it is quite unlikely to hit this limit in practice.
Each item of the linked list is a variable-sized byte buffer made of a number of fields. Some of these fields are stored as fixed-size 32 bit integers, others as fixed-size 16 bit integers, and some others as variable-size 32-bit integers. The variable-size 32 bit integers are stored using the uleb128 encoding.
Definition at line 79 of file packet-metadata.h.
|
inline |
Definition at line 366 of file packet-metadata.h.
References DoAddHeader(), ns3::PacketMetadata::Data::m_data, and m_data.
|
inline |
Definition at line 379 of file packet-metadata.h.
References ns3::PacketMetadata::Data::m_count, m_data, and NS_ASSERT.
|
inline |
Definition at line 412 of file packet-metadata.h.
References ns3::PacketMetadata::Data::m_count, m_data, NS_ASSERT, and Recycle().
|
private |
|
private |
void ns3::PacketMetadata::AddAtEnd | ( | PacketMetadata const & | o | ) |
Definition at line 791 of file packet-metadata.cc.
References AddBig(), ns3::PacketMetadata::SmallItem::chunkUid, IsStateOk(), m_enable, m_head, m_metadataSkipped, m_tail, ns3::PacketMetadata::SmallItem::next, NS_ASSERT, NS_LOG_FUNCTION, ReadItems(), ReplaceTail(), ns3::PacketMetadata::SmallItem::size, ns3::PacketMetadata::SmallItem::typeUid, and UpdateTail().
Referenced by ns3::Packet::AddAtEnd().
|
private |
Definition at line 390 of file packet-metadata.cc.
References Append16(), Append32(), AppendValue(), ns3::PacketMetadata::SmallItem::chunkUid, ns3::PacketMetadata::ExtraItem::fragmentEnd, ns3::PacketMetadata::ExtraItem::fragmentStart, GetUleb128Size(), ns3::PacketMetadata::Data::m_count, ns3::PacketMetadata::Data::m_data, m_data, ns3::PacketMetadata::Data::m_dirtyEnd, m_head, ns3::PacketMetadata::Data::m_size, m_used, ns3::PacketMetadata::SmallItem::next, NS_ASSERT, NS_LOG_FUNCTION, ns3::PacketMetadata::ExtraItem::packetUid, ns3::PacketMetadata::SmallItem::prev, ReserveCopy(), ns3::PacketMetadata::SmallItem::size, and ns3::PacketMetadata::SmallItem::typeUid.
Referenced by AddAtEnd(), Deserialize(), RemoveAtEnd(), RemoveAtStart(), and ReplaceTail().
void ns3::PacketMetadata::AddHeader | ( | Header const & | header, |
uint32_t | size | ||
) |
Definition at line 645 of file packet-metadata.cc.
References DoAddHeader(), ns3::ObjectBase::GetInstanceTypeId(), ns3::TypeId::GetUid(), IsStateOk(), and NS_ASSERT.
Referenced by ns3::Packet::AddHeader().
void ns3::PacketMetadata::AddPaddingAtEnd | ( | uint32_t | end | ) |
Definition at line 869 of file packet-metadata.cc.
References m_enable, and m_metadataSkipped.
Referenced by ns3::Packet::AddPaddingAtEnd().
|
inlineprivate |
Definition at line 361 of file packet-metadata.cc.
References Append16(), AppendValue(), ns3::PacketMetadata::SmallItem::chunkUid, GetUleb128Size(), ns3::PacketMetadata::Data::m_count, ns3::PacketMetadata::Data::m_data, m_data, ns3::PacketMetadata::Data::m_dirtyEnd, m_head, ns3::PacketMetadata::Data::m_size, m_used, ns3::PacketMetadata::SmallItem::next, NS_ASSERT, NS_LOG_FUNCTION, ns3::PacketMetadata::SmallItem::prev, ReserveCopy(), ns3::PacketMetadata::SmallItem::size, and ns3::PacketMetadata::SmallItem::typeUid.
Referenced by AddTrailer(), and DoAddHeader().
|
staticprivate |
Definition at line 1387 of file packet-metadata.cc.
Referenced by Serialize().
|
staticprivate |
Definition at line 1342 of file packet-metadata.cc.
Referenced by Serialize().
|
staticprivate |
Definition at line 1357 of file packet-metadata.cc.
Referenced by Serialize().
|
staticprivate |
Definition at line 1372 of file packet-metadata.cc.
Referenced by Serialize().
|
staticprivate |
Definition at line 1327 of file packet-metadata.cc.
Referenced by Serialize().
void ns3::PacketMetadata::AddTrailer | ( | Trailer const & | trailer, |
uint32_t | size | ||
) |
Definition at line 721 of file packet-metadata.cc.
References AddSmall(), ns3::PacketMetadata::SmallItem::chunkUid, ns3::ObjectBase::GetInstanceTypeId(), ns3::TypeId::GetUid(), IsStateOk(), m_chunkUid, m_enable, m_metadataSkipped, m_tail, ns3::PacketMetadata::SmallItem::next, NS_ASSERT, NS_LOG_FUNCTION, ns3::PacketMetadata::SmallItem::prev, ns3::PacketMetadata::SmallItem::size, ns3::PacketMetadata::SmallItem::typeUid, and UpdateTail().
Referenced by ns3::Packet::AddTrailer().
|
staticreadprivate |
Definition at line 612 of file packet-metadata.cc.
References data, ns3::PacketMetadata::Data::m_count, ns3::PacketMetadata::Data::m_dirtyEnd, ns3::PacketMetadata::Data::m_size, and PACKET_METADATA_DATA_M_DATA_SIZE.
Referenced by Create().
|
inlineprivate |
Definition at line 227 of file packet-metadata.cc.
Referenced by AddBig(), AddSmall(), ReplaceTail(), ReserveCopy(), UpdateHead(), and UpdateTail().
|
inlineprivate |
Definition at line 234 of file packet-metadata.cc.
Referenced by AddBig(), and ReplaceTail().
|
inlineprivate |
Definition at line 289 of file packet-metadata.cc.
References AppendValueExtra().
Referenced by AddBig(), AddSmall(), and ReplaceTail().
|
private |
Definition at line 243 of file packet-metadata.cc.
Referenced by AppendValue().
PacketMetadata::ItemIterator ns3::PacketMetadata::BeginItem | ( | Buffer | buffer | ) | const |
Definition at line 1033 of file packet-metadata.cc.
References ItemIterator.
Referenced by ns3::Packet::BeginItem(), and ns3::Packet::Print().
|
staticreadprivate |
Definition at line 566 of file packet-metadata.cc.
References Allocate(), data, Deallocate(), ns3::PacketMetadata::Data::m_count, m_freeList, m_maxSize, ns3::PacketMetadata::Data::m_size, and NS_LOG_LOGIC.
Referenced by ReserveCopy().
PacketMetadata ns3::PacketMetadata::CreateFragment | ( | uint32_t | start, |
uint32_t | end | ||
) | const |
start | the amount of stuff to remove from the start |
end | the amount of stuff to remove from the end |
Calling this method is equivalent to calling RemoveAtStart (start) and then, RemoveAtEnd (end).
Definition at line 636 of file packet-metadata.cc.
References RemoveAtEnd(), and RemoveAtStart().
Referenced by ns3::Packet::CreateFragment().
|
staticprivate |
Definition at line 628 of file packet-metadata.cc.
Referenced by Create(), Recycle(), and ns3::PacketMetadata::DataFreeList::~DataFreeList().
uint32_t ns3::PacketMetadata::Deserialize | ( | const uint8_t * | buffer, |
uint32_t | size | ||
) |
Definition at line 1266 of file packet-metadata.cc.
References AddBig(), ns3::PacketMetadata::SmallItem::chunkUid, ns3::PacketMetadata::ExtraItem::fragmentEnd, ns3::PacketMetadata::ExtraItem::fragmentStart, ns3::TypeId::GetUid(), ns3::TypeId::LookupByName(), m_packetUid, m_tail, NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::PacketMetadata::ExtraItem::packetUid, ReadFromRawU16(), ReadFromRawU32(), ReadFromRawU64(), ReadFromRawU8(), ns3::PacketMetadata::SmallItem::size, visualizer.core::start(), ns3::PacketMetadata::SmallItem::typeUid, and UpdateTail().
Referenced by ns3::Packet::Deserialize().
|
private |
Definition at line 653 of file packet-metadata.cc.
References AddSmall(), ns3::PacketMetadata::SmallItem::chunkUid, m_chunkUid, m_enable, m_head, m_metadataSkipped, ns3::PacketMetadata::SmallItem::next, NS_LOG_FUNCTION, ns3::PacketMetadata::SmallItem::prev, ns3::PacketMetadata::SmallItem::size, ns3::PacketMetadata::SmallItem::typeUid, and UpdateHead().
Referenced by AddHeader(), and PacketMetadata().
|
static |
Definition at line 51 of file packet-metadata.cc.
References m_enable, m_metadataSkipped, and NS_ASSERT_MSG.
Referenced by ns3::EpcTftClassifierTestCase::DoRun(), ns3::PacketMetadataTest::DoRun(), EnableChecking(), and ns3::Packet::EnablePrinting().
|
static |
Definition at line 64 of file packet-metadata.cc.
References Enable(), and m_enableChecking.
uint32_t ns3::PacketMetadata::GetSerializedSize | ( | void | ) | const |
Definition at line 1120 of file packet-metadata.cc.
References ns3::TypeId::GetName(), m_enable, m_head, m_tail, ns3::PacketMetadata::SmallItem::next, NS_ASSERT, NS_LOG_FUNCTION, ReadItems(), ns3::TypeId::SetUid(), and ns3::PacketMetadata::SmallItem::typeUid.
Referenced by ns3::Packet::GetSerializedSize(), and ns3::Packet::Serialize().
|
private |
Definition at line 1006 of file packet-metadata.cc.
References m_head, m_tail, ns3::PacketMetadata::SmallItem::next, NS_ASSERT, and ReadItems().
uint64_t ns3::PacketMetadata::GetUid | ( | void | ) | const |
Definition at line 1028 of file packet-metadata.cc.
References m_packetUid.
Referenced by ns3::Packet::GetUid().
|
inlineprivate |
Definition at line 157 of file packet-metadata.cc.
Referenced by AddBig(), AddSmall(), and ReplaceTail().
|
private |
Definition at line 119 of file packet-metadata.cc.
References m_used.
Referenced by IsStateOk().
|
private |
Definition at line 113 of file packet-metadata.cc.
References m_data, and ns3::PacketMetadata::Data::m_size.
Referenced by IsStateOk().
|
private |
Definition at line 126 of file packet-metadata.cc.
References IsPointerOk(), IsSharedPointerOk(), m_data, m_head, ns3::PacketMetadata::Data::m_size, m_tail, m_used, ns3::PacketMetadata::SmallItem::next, ns3::PacketMetadata::SmallItem::prev, and ReadItems().
Referenced by AddAtEnd(), AddHeader(), AddTrailer(), RemoveAtEnd(), RemoveAtStart(), RemoveHeader(), and RemoveTrailer().
|
inline |
Definition at line 391 of file packet-metadata.h.
References ns3::PacketMetadata::Data::m_count, m_data, m_head, m_packetUid, m_tail, m_used, NS_ASSERT, and Recycle().
|
staticprivate |
Definition at line 1418 of file packet-metadata.cc.
Referenced by Deserialize().
|
staticprivate |
Definition at line 1433 of file packet-metadata.cc.
Referenced by Deserialize().
|
staticprivate |
Definition at line 1448 of file packet-metadata.cc.
Referenced by Deserialize().
|
staticprivate |
Definition at line 1403 of file packet-metadata.cc.
Referenced by Deserialize().
|
private |
current | the offset we should start reading the data from |
item | pointer to where we should store the data to return to the caller |
extraItem | pointer to where we should store the data to return to the caller |
Definition at line 526 of file packet-metadata.cc.
References ns3::PacketMetadata::SmallItem::chunkUid, ns3::PacketMetadata::ExtraItem::fragmentEnd, ns3::PacketMetadata::ExtraItem::fragmentStart, ns3::PacketMetadata::Data::m_data, m_data, m_packetUid, ns3::PacketMetadata::Data::m_size, ns3::PacketMetadata::SmallItem::next, NS_ASSERT, NS_LOG_FUNCTION, ns3::PacketMetadata::ExtraItem::packetUid, ns3::PacketMetadata::SmallItem::prev, ReadUleb128(), ns3::PacketMetadata::SmallItem::size, and ns3::PacketMetadata::SmallItem::typeUid.
Referenced by AddAtEnd(), GetSerializedSize(), GetTotalSize(), IsStateOk(), RemoveAtEnd(), RemoveAtStart(), RemoveHeader(), RemoveTrailer(), ReplaceTail(), and Serialize().
|
private |
Definition at line 178 of file packet-metadata.cc.
References NS_ASSERT.
Referenced by ReadItems().
|
staticprivate |
Definition at line 591 of file packet-metadata.cc.
References Deallocate(), ns3::PacketMetadata::Data::m_count, m_enable, m_freeList, m_maxSize, ns3::PacketMetadata::Data::m_size, NS_ASSERT, and NS_LOG_LOGIC.
Referenced by operator=(), ReserveCopy(), and ~PacketMetadata().
void ns3::PacketMetadata::RemoveAtEnd | ( | uint32_t | end | ) |
Definition at line 941 of file packet-metadata.cc.
References AddBig(), IsStateOk(), m_data, m_enable, m_head, m_metadataSkipped, m_packetUid, m_tail, NS_ASSERT, NS_LOG_FUNCTION, ns3::PacketMetadata::SmallItem::prev, ReadItems(), ns3::PacketMetadata::SmallItem::size, and UpdateHead().
Referenced by CreateFragment(), and ns3::Packet::RemoveAtEnd().
void ns3::PacketMetadata::RemoveAtStart | ( | uint32_t | start | ) |
Definition at line 878 of file packet-metadata.cc.
References AddBig(), IsStateOk(), m_data, m_enable, m_head, m_metadataSkipped, m_packetUid, m_tail, ns3::PacketMetadata::SmallItem::next, NS_ASSERT, NS_LOG_FUNCTION, ReadItems(), ns3::PacketMetadata::SmallItem::size, visualizer.core::start(), and UpdateTail().
Referenced by CreateFragment(), and ns3::Packet::RemoveAtStart().
void ns3::PacketMetadata::RemoveHeader | ( | Header const & | header, |
uint32_t | size | ||
) |
Definition at line 673 of file packet-metadata.cc.
References ns3::PacketMetadata::ExtraItem::fragmentEnd, ns3::PacketMetadata::ExtraItem::fragmentStart, ns3::ObjectBase::GetInstanceTypeId(), ns3::TypeId::GetUid(), IsStateOk(), m_enable, m_enableChecking, m_head, m_metadataSkipped, m_tail, m_used, ns3::PacketMetadata::SmallItem::next, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_FUNCTION, ReadItems(), ns3::PacketMetadata::SmallItem::size, and ns3::PacketMetadata::SmallItem::typeUid.
Referenced by ns3::Packet::RemoveHeader().
void ns3::PacketMetadata::RemoveTrailer | ( | Trailer const & | trailer, |
uint32_t | size | ||
) |
Definition at line 743 of file packet-metadata.cc.
References ns3::PacketMetadata::ExtraItem::fragmentEnd, ns3::PacketMetadata::ExtraItem::fragmentStart, ns3::ObjectBase::GetInstanceTypeId(), ns3::TypeId::GetUid(), IsStateOk(), m_enable, m_enableChecking, m_head, m_metadataSkipped, m_tail, m_used, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_FUNCTION, ns3::PacketMetadata::SmallItem::prev, ReadItems(), ns3::PacketMetadata::SmallItem::size, and ns3::PacketMetadata::SmallItem::typeUid.
Referenced by ns3::Packet::RemoveTrailer().
|
private |
item | the item data to write |
extraItem | the extra item data to write |
available | the number of bytes which can be written without having to rewrite the buffer entirely. |
Definition at line 443 of file packet-metadata.cc.
References AddBig(), Append16(), Append32(), AppendValue(), ns3::PacketMetadata::SmallItem::chunkUid, ns3::PacketMetadata::ExtraItem::fragmentEnd, ns3::PacketMetadata::ExtraItem::fragmentStart, GetUleb128Size(), ns3::PacketMetadata::Data::m_count, ns3::PacketMetadata::Data::m_data, m_data, ns3::PacketMetadata::Data::m_dirtyEnd, m_head, m_packetUid, ns3::PacketMetadata::Data::m_size, m_tail, m_used, ns3::PacketMetadata::SmallItem::next, NS_ASSERT, NS_LOG_FUNCTION, ns3::PacketMetadata::ExtraItem::packetUid, ns3::PacketMetadata::SmallItem::prev, ReadItems(), ns3::PacketMetadata::SmallItem::size, ns3::PacketMetadata::SmallItem::typeUid, and UpdateTail().
Referenced by AddAtEnd().
|
inlineprivate |
Definition at line 95 of file packet-metadata.cc.
References ns3::PacketMetadata::Data::m_count, m_data, ns3::PacketMetadata::Data::m_dirtyEnd, m_head, ns3::PacketMetadata::Data::m_size, m_used, NS_ASSERT, and ReserveCopy().
|
private |
Definition at line 71 of file packet-metadata.cc.
References Append16(), Create(), ns3::PacketMetadata::Data::m_count, ns3::PacketMetadata::Data::m_data, m_data, ns3::PacketMetadata::Data::m_dirtyEnd, m_head, m_tail, m_used, NS_ASSERT, Recycle(), and visualizer.core::start().
Referenced by AddBig(), AddSmall(), and Reserve().
uint32_t ns3::PacketMetadata::Serialize | ( | uint8_t * | buffer, |
uint32_t | maxSize | ||
) | const |
Definition at line 1165 of file packet-metadata.cc.
References AddToRaw(), AddToRawU16(), AddToRawU32(), AddToRawU64(), AddToRawU8(), ns3::PacketMetadata::SmallItem::chunkUid, ns3::PacketMetadata::ExtraItem::fragmentEnd, ns3::PacketMetadata::ExtraItem::fragmentStart, ns3::TypeId::GetName(), m_head, m_packetUid, m_tail, ns3::PacketMetadata::SmallItem::next, NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::PacketMetadata::ExtraItem::packetUid, ReadItems(), ns3::TypeId::SetUid(), ns3::PacketMetadata::SmallItem::size, visualizer.core::start(), and ns3::PacketMetadata::SmallItem::typeUid.
Referenced by ns3::Packet::Serialize().
|
inlineprivate |
Definition at line 335 of file packet-metadata.cc.
References Append16(), ns3::PacketMetadata::Data::m_data, m_data, ns3::PacketMetadata::Data::m_dirtyEnd, m_head, m_tail, m_used, NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by DoAddHeader(), and RemoveAtEnd().
|
inlineprivate |
Definition at line 308 of file packet-metadata.cc.
References Append16(), ns3::PacketMetadata::Data::m_data, m_data, ns3::PacketMetadata::Data::m_dirtyEnd, m_head, m_tail, m_used, NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by AddAtEnd(), AddTrailer(), Deserialize(), RemoveAtStart(), and ReplaceTail().
|
friend |
Definition at line 302 of file packet-metadata.h.
Referenced by BeginItem().
|
staticprivate |
Definition at line 348 of file packet-metadata.h.
Referenced by AddTrailer(), and DoAddHeader().
|
private |
Definition at line 350 of file packet-metadata.h.
Referenced by AddBig(), AddSmall(), IsSharedPointerOk(), IsStateOk(), operator=(), PacketMetadata(), ReadItems(), RemoveAtEnd(), RemoveAtStart(), ReplaceTail(), Reserve(), ReserveCopy(), UpdateHead(), UpdateTail(), and ~PacketMetadata().
|
staticprivate |
Definition at line 339 of file packet-metadata.h.
Referenced by AddAtEnd(), AddPaddingAtEnd(), AddTrailer(), DoAddHeader(), Enable(), GetSerializedSize(), Recycle(), RemoveAtEnd(), RemoveAtStart(), RemoveHeader(), RemoveTrailer(), and ns3::PacketMetadata::DataFreeList::~DataFreeList().
|
staticprivate |
Definition at line 340 of file packet-metadata.h.
Referenced by EnableChecking(), RemoveHeader(), and RemoveTrailer().
|
staticprivate |
Definition at line 338 of file packet-metadata.h.
|
private |
head -(next)-> tail ^ | -–(prev)—|
Definition at line 356 of file packet-metadata.h.
Referenced by AddAtEnd(), AddBig(), AddSmall(), DoAddHeader(), GetSerializedSize(), GetTotalSize(), IsStateOk(), operator=(), RemoveAtEnd(), RemoveAtStart(), RemoveHeader(), RemoveTrailer(), ReplaceTail(), Reserve(), ReserveCopy(), Serialize(), UpdateHead(), and UpdateTail().
|
staticprivate |
Definition at line 347 of file packet-metadata.h.
|
staticprivate |
Definition at line 345 of file packet-metadata.h.
Referenced by AddAtEnd(), AddPaddingAtEnd(), AddTrailer(), DoAddHeader(), Enable(), RemoveAtEnd(), RemoveAtStart(), RemoveHeader(), and RemoveTrailer().
|
private |
Definition at line 359 of file packet-metadata.h.
Referenced by Deserialize(), GetUid(), operator=(), ReadItems(), RemoveAtEnd(), RemoveAtStart(), ReplaceTail(), and Serialize().
|
private |
Definition at line 357 of file packet-metadata.h.
Referenced by AddAtEnd(), AddTrailer(), Deserialize(), GetSerializedSize(), GetTotalSize(), IsStateOk(), operator=(), RemoveAtEnd(), RemoveAtStart(), RemoveHeader(), RemoveTrailer(), ReplaceTail(), ReserveCopy(), Serialize(), UpdateHead(), and UpdateTail().
|
private |
Definition at line 358 of file packet-metadata.h.
Referenced by AddBig(), AddSmall(), IsPointerOk(), IsStateOk(), operator=(), RemoveHeader(), RemoveTrailer(), ReplaceTail(), Reserve(), ReserveCopy(), UpdateHead(), and UpdateTail().