32 #include "ns3/callback.h"
33 #include "ns3/assert.h"
35 #include "ns3/deprecated.h"
75 uint32_t
GetEnd (
void)
const;
235 Packet (uint8_t
const*buffer, uint32_t size,
bool magic);
244 Packet (uint8_t
const*buffer, uint32_t size);
258 inline uint32_t
GetSize (
void)
const;
363 uint32_t
CopyData (uint8_t *buffer, uint32_t size)
const;
373 void CopyData (std::ostream *os, uint32_t size)
const;
401 uint64_t
GetUid (
void)
const;
411 void Print (std::ostream &os)
const;
459 uint32_t
Serialize (uint8_t* buffer, uint32_t maxSize)
const;
585 uint32_t
Deserialize (uint8_t
const*buffer, uint32_t size);
PacketMetadata m_metadata
uint32_t RemoveHeader(Header &header)
bool FindFirstMatchingByteTag(Tag &tag) const
void PrintPacketTags(std::ostream &os) const
uint32_t Deserialize(uint8_t const *buffer, uint32_t size)
automatically resized byte buffer
void AddPacketTag(const Tag &tag) const
List of the packet tags stored in a packet.
uint64_t GetUid(void) const
struct PacketTagList::TagData * m_current
uint32_t Serialize(uint8_t *buffer, uint32_t maxSize) const
keep track of the byte tags stored in a packet.
static uint32_t m_globalUid
uint32_t GetSize(void) const
Ptr< NixVector > GetNixVector(void) const
Item(TypeId tid, uint32_t start, uint32_t end, TagBuffer buffer)
void Print(std::ostream &os) const
Packet & operator=(const Packet &o)
PacketTagIterator GetPacketTagIterator(void) const
ByteTagList::Iterator m_current
void GetTag(Tag &tag) const
Ptr< Packet > CreateFragment(uint32_t start, uint32_t length) const
uint32_t PeekTrailer(Trailer &trailer)
void AddAtEnd(Ptr< const Packet > packet)
uint8_t const * PeekData(void) const NS_DEPRECATED
bool PeekPacketTag(Tag &tag) const
void RemoveAllPacketTags(void)
void RemoveAtStart(uint32_t size)
static void EnablePrinting(void)
void SetNixVector(Ptr< NixVector >)
ByteTagList m_byteTagList
Defines a linked list of Packet tags, including copy-on-write semantics.
bool ReplacePacketTag(Tag &tag)
static void EnableChecking(void)
void AddPaddingAtEnd(uint32_t size)
ByteTagIterator GetByteTagIterator(void) const
uint32_t GetEnd(void) const
Iterator over the set of packet tags in a packet.
void PrintByteTags(std::ostream &os) const
std::ostream & operator<<(std::ostream &os, const Angles &a)
Ptr< Packet > Copy(void) const
uint32_t PeekHeader(Header &header) const
Protocol trailer serialization and deserialization.
tag a set of bytes in a packet
PacketMetadata::ItemIterator BeginItem(void) const
PacketTagIterator(const struct PacketTagList::TagData *head)
void AddTrailer(const Trailer &trailer)
void RemoveAtEnd(uint32_t size)
Iterator over the set of byte tags in a packet.
uint32_t RemoveTrailer(Trailer &trailer)
PacketTagList m_packetTagList
TypeId GetTypeId(void) const
uint32_t GetSize(void) const
TypeId GetTypeId(void) const
Item(const struct PacketTagList::TagData *data)
void GetTag(Tag &tag) const
struct PacketTagList::TagData * m_data
uint32_t GetStart(void) const
uint32_t GetSerializedSize(void) const
bool RemovePacketTag(Tag &tag)
void RemoveAllByteTags(void)
Ptr< NixVector > m_nixVector
uint32_t CopyData(uint8_t *buffer, uint32_t size) const
ByteTagIterator(ByteTagList::Iterator i)
A template-based reference counting class.
a unique identifier for an interface.
void AddHeader(const Header &header)
void AddByteTag(const Tag &tag) const