A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::PbbPacket Class Reference

Main PacketBB Packet object. More...

#include "packetbb.h"

+ Inheritance diagram for ns3::PbbPacket:
+ Collaboration diagram for ns3::PbbPacket:

Public Types

typedef std::list< Ptr< PbbMessage > >::const_iterator ConstMessageIterator
 PbbMessage Const Iterator for PbbPacket.
 
typedef std::list< Ptr< PbbTlv > >::const_iterator ConstTlvIterator
 PbbTlv const iterator for PbbPacket.
 
typedef std::list< Ptr< PbbMessage > >::iterator MessageIterator
 PbbMessage Iterator for PbbPacket.
 
typedef std::list< Ptr< PbbTlv > >::iterator TlvIterator
 PbbTlv iterator for PbbPacket.
 

Public Member Functions

 PbbPacket ()
 
 ~PbbPacket () override
 
uint32_t Deserialize (Buffer::Iterator start) override
 Deserializes a packet from the specified buffer.
 
MessageIterator Erase (MessageIterator first, MessageIterator last)
 Removes all messages from [first, last) (includes first, not includes last).
 
MessageIterator Erase (MessageIterator position)
 Removes the message at the specified position.
 
TlvIterator Erase (TlvIterator first, TlvIterator last)
 Removes all packet TLVs from [first, last) (includes first, not includes last).
 
TlvIterator Erase (TlvIterator position)
 Removes the packet TLV at the specified position.
 
TypeId GetInstanceTypeId () const override
 Get the most derived TypeId for this Object.
 
uint16_t GetSequenceNumber () const
 
uint32_t GetSerializedSize () const override
 
uint8_t GetVersion () const
 
bool HasSequenceNumber () const
 Tests whether or not this packet has a sequence number.
 
Ptr< PbbMessageMessageBack ()
 
const Ptr< PbbMessageMessageBack () const
 
MessageIterator MessageBegin ()
 
ConstMessageIterator MessageBegin () const
 
void MessageClear ()
 Removes all messages from this packet.
 
bool MessageEmpty () const
 
MessageIterator MessageEnd ()
 
ConstMessageIterator MessageEnd () const
 
Ptr< PbbMessageMessageFront ()
 
const Ptr< PbbMessageMessageFront () const
 
void MessagePopBack ()
 Removes a message from the back of this packet.
 
void MessagePopFront ()
 Removes a message from the front of this packet.
 
void MessagePushBack (Ptr< PbbMessage > message)
 Appends a message to the back of this packet.
 
void MessagePushFront (Ptr< PbbMessage > message)
 Prepends a message to the front of this packet.
 
int MessageSize () const
 
bool operator!= (const PbbPacket &other) const
 Inequality operator for PbbPacket.
 
bool operator== (const PbbPacket &other) const
 Equality operator for PbbPacket.
 
void Print (std::ostream &os) const override
 Pretty-prints the contents of this block.
 
void Serialize (Buffer::Iterator start) const override
 Serializes this packet into the specified buffer.
 
void SetSequenceNumber (uint16_t number)
 Sets the sequence number of this packet.
 
Ptr< PbbTlvTlvBack ()
 
const Ptr< PbbTlvTlvBack () const
 
TlvIterator TlvBegin ()
 
ConstTlvIterator TlvBegin () const
 
void TlvClear ()
 Removes all packet TLVs from this packet.
 
bool TlvEmpty () const
 
TlvIterator TlvEnd ()
 
ConstTlvIterator TlvEnd () const
 
Ptr< PbbTlvTlvFront ()
 
const Ptr< PbbTlvTlvFront () const
 
void TlvPopBack ()
 Removes a packet TLV from the back of this block.
 
void TlvPopFront ()
 Removes a packet TLV from the front of this packet.
 
void TlvPushBack (Ptr< PbbTlv > tlv)
 Appends a packet TLV to the back of this packet.
 
void TlvPushFront (Ptr< PbbTlv > tlv)
 Prepends a packet TLV to the front of this packet.
 
int TlvSize () const
 
- Public Member Functions inherited from ns3::SimpleRefCount< PbbPacket, Header >
 SimpleRefCount ()
 Default constructor.
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor.
 
uint32_t GetReferenceCount () const
 Get the reference count of the object.
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator.
 
void Ref () const
 Increment the reference count.
 
void Unref () const
 Decrement the reference count.
 
- Public Member Functions inherited from ns3::Header
 ~Header () override
 
uint32_t Deserialize (Buffer::Iterator start) override=0
 
virtual uint32_t Deserialize (Buffer::Iterator start)=0
 Deserialize the object from a buffer iterator.
 
virtual uint32_t Deserialize (Buffer::Iterator start, Buffer::Iterator end)
 Deserialize the object from a buffer iterator.
 
virtual uint32_t GetSerializedSize () const =0
 
void Print (std::ostream &os) const override=0
 
virtual void Serialize (Buffer::Iterator start) const =0
 
virtual uint32_t Deserialize (Buffer::Iterator start)=0
 Deserialize the object from a buffer iterator.
 
virtual uint32_t Deserialize (Buffer::Iterator start, Buffer::Iterator end)
 Deserialize the object from a buffer iterator.
 
virtual void Print (std::ostream &os) const =0
 Print the object contents.
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor.
 
void GetAttribute (std::string name, AttributeValue &value) const
 Get the value of an attribute, raising fatal errors if unsuccessful.
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising errors.
 
virtual TypeId GetInstanceTypeId () const =0
 Get the most derived TypeId for this Object.
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful.
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors.
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context.
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context.
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context.
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context.
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID.
 
- Static Public Member Functions inherited from ns3::Header
static TypeId GetTypeId ()
 Get the type ID.
 
- Static Public Member Functions inherited from ns3::Chunk
static TypeId GetTypeId ()
 Get the type ID.
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId ()
 Get the type ID.
 

Private Attributes

bool m_hasseqnum
 Sequence number present.
 
std::list< Ptr< PbbMessage > > m_messageList
 PbbTlvBlock container.
 
uint16_t m_seqnum
 Sequence number.
 
PbbTlvBlock m_tlvList
 PbbTlv container.
 
uint8_t m_version
 version
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes.
 
virtual void NotifyConstructionCompleted ()
 Notifier called once the ObjectBase is fully constructed.
 

Detailed Description

Main PacketBB Packet object.

Introspection did not find any typical Config paths.

A PacketBB packet is made up of zero or more packet TLVs (PbbTlv), and zero or more messages (PbbMessage).

See: RFC 5444 for details.


No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 56 bytes (on a 64-bit architecture).

Definition at line 390 of file packetbb.h.

Member Typedef Documentation

◆ ConstMessageIterator

typedef std::list<Ptr<PbbMessage>>::const_iterator ns3::PbbPacket::ConstMessageIterator

PbbMessage Const Iterator for PbbPacket.

Definition at line 400 of file packetbb.h.

◆ ConstTlvIterator

typedef std::list<Ptr<PbbTlv>>::const_iterator ns3::PbbPacket::ConstTlvIterator

PbbTlv const iterator for PbbPacket.

Definition at line 396 of file packetbb.h.

◆ MessageIterator

typedef std::list<Ptr<PbbMessage>>::iterator ns3::PbbPacket::MessageIterator

PbbMessage Iterator for PbbPacket.

Definition at line 398 of file packetbb.h.

◆ TlvIterator

typedef std::list<Ptr<PbbTlv>>::iterator ns3::PbbPacket::TlvIterator

PbbTlv iterator for PbbPacket.

Definition at line 394 of file packetbb.h.

Constructor & Destructor Documentation

◆ PbbPacket()

ns3::PbbPacket::PbbPacket ( )

Definition at line 543 of file packetbb.cc.

References m_hasseqnum, m_version, NS_LOG_FUNCTION, and ns3::VERSION.

◆ ~PbbPacket()

ns3::PbbPacket::~PbbPacket ( )
override

Definition at line 550 of file packetbb.cc.

References MessageClear(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

Member Function Documentation

◆ Deserialize()

uint32_t ns3::PbbPacket::Deserialize ( Buffer::Iterator  start)
overridevirtual

Deserializes a packet from the specified buffer.

Parameters
startstart offset
Returns
the number of bytes deserialized

If this returns a number smaller than the total number of bytes in the buffer, there was an error.

Implements ns3::Header.

Definition at line 907 of file packetbb.cc.

References ns3::PbbTlvBlock::Deserialize(), ns3::PbbMessage::DeserializeMessage(), m_tlvList, m_version, MessagePushBack(), NS_LOG_FUNCTION, PHAS_SEQ_NUM, PHAS_TLV, and SetSequenceNumber().

+ Here is the call graph for this function:

◆ Erase() [1/4]

MessageIterator ns3::PbbPacket::Erase ( MessageIterator  first,
MessageIterator  last 
)

Removes all messages from [first, last) (includes first, not includes last).

Parameters
firstan Iterator pointing to the first message to erase (inclusive).
lastan Iterator pointing to the element past the last message to erase.
Returns
an iterator pointing to the next message in the block.

◆ Erase() [2/4]

MessageIterator ns3::PbbPacket::Erase ( MessageIterator  position)

Removes the message at the specified position.

Parameters
positionan Iterator pointing to the message to erase.
Returns
an iterator pointing to the next message in the packet.

◆ Erase() [3/4]

PbbPacket::MessageIterator ns3::PbbPacket::Erase ( PbbPacket::TlvIterator  first,
PbbPacket::TlvIterator  last 
)

Removes all packet TLVs from [first, last) (includes first, not includes last).

Parameters
firstan Iterator pointing to the first packet TLV to erase (inclusive).
lastan Iterator pointing to the element past the last packet TLV to erase.
Returns
an iterator pointing to the next packet TLV in the block.

Definition at line 694 of file packetbb.cc.

References ns3::PbbTlvBlock::Erase(), m_tlvList, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ Erase() [4/4]

PbbPacket::MessageIterator ns3::PbbPacket::Erase ( PbbPacket::TlvIterator  position)

Removes the packet TLV at the specified position.

Parameters
positionan Iterator pointing to the packet TLV to erase.
Returns
an iterator pointing to the next packet TLV in the block.

Definition at line 687 of file packetbb.cc.

References ns3::PbbTlvBlock::Erase(), m_tlvList, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ GetInstanceTypeId()

TypeId ns3::PbbPacket::GetInstanceTypeId ( ) const
overridevirtual

Get the most derived TypeId for this Object.

This method is typically implemented by ns3::Object::GetInstanceTypeId but some classes which derive from ns3::ObjectBase directly have to implement it themselves.

Returns
The TypeId associated to the most-derived type of this instance.

Implements ns3::ObjectBase.

Definition at line 843 of file packetbb.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetSequenceNumber()

uint16_t ns3::PbbPacket::GetSequenceNumber ( ) const
Returns
the sequence number of this packet.

Calling this while HasSequenceNumber is False is undefined. Make sure you check it first. This will be checked by an assert in debug builds.

Definition at line 572 of file packetbb.cc.

References HasSequenceNumber(), m_seqnum, NS_ASSERT, and NS_LOG_FUNCTION.

Referenced by operator==(), Print(), and Serialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetSerializedSize()

uint32_t ns3::PbbPacket::GetSerializedSize ( ) const
overridevirtual
Returns
The size (in bytes) needed to serialize this packet.

Implements ns3::Header.

Definition at line 849 of file packetbb.cc.

References ns3::PbbTlvBlock::GetSerializedSize(), HasSequenceNumber(), m_tlvList, MessageBegin(), MessageEnd(), NS_LOG_FUNCTION, and TlvEmpty().

Referenced by PbbTestCase::TestSerialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::PbbPacket::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

Definition at line 833 of file packetbb.cc.

References ns3::TypeId::SetParent().

Referenced by GetInstanceTypeId().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetVersion()

uint8_t ns3::PbbPacket::GetVersion ( ) const
Returns
the version of PacketBB that constructed this packet.

This will always return 0 for packets constructed using this API.

Definition at line 557 of file packetbb.cc.

References m_version, and NS_LOG_FUNCTION.

Referenced by operator==().

+ Here is the caller graph for this function:

◆ HasSequenceNumber()

bool ns3::PbbPacket::HasSequenceNumber ( ) const

Tests whether or not this packet has a sequence number.

Returns
true if this packet has a sequence number, false otherwise.

This should be called before calling GetSequenceNumber to make sure there actually is one.

Definition at line 580 of file packetbb.cc.

References m_hasseqnum, and NS_LOG_FUNCTION.

Referenced by GetSequenceNumber(), GetSerializedSize(), operator==(), Print(), and Serialize().

+ Here is the caller graph for this function:

◆ MessageBack() [1/2]

Ptr< PbbMessage > ns3::PbbPacket::MessageBack ( )
Returns
a smart pointer to the last message in this packet.

Definition at line 766 of file packetbb.cc.

References m_messageList, and NS_LOG_FUNCTION.

◆ MessageBack() [2/2]

const Ptr< PbbMessage > ns3::PbbPacket::MessageBack ( ) const
Returns
a const smart pointer to the last message in this packet.

Definition at line 773 of file packetbb.cc.

References m_messageList, and NS_LOG_FUNCTION.

◆ MessageBegin() [1/2]

PbbPacket::MessageIterator ns3::PbbPacket::MessageBegin ( )
Returns
an iterator to the first message in this packet.

Definition at line 710 of file packetbb.cc.

References m_messageList, and NS_LOG_FUNCTION.

Referenced by GetSerializedSize(), MessageClear(), operator==(), Print(), and Serialize().

+ Here is the caller graph for this function:

◆ MessageBegin() [2/2]

PbbPacket::ConstMessageIterator ns3::PbbPacket::MessageBegin ( ) const
Returns
a const iterator to the first message in this packet.

Definition at line 717 of file packetbb.cc.

References m_messageList, and NS_LOG_FUNCTION.

◆ MessageClear()

void ns3::PbbPacket::MessageClear ( )

Removes all messages from this packet.

Definition at line 822 of file packetbb.cc.

References m_messageList, MessageBegin(), MessageEnd(), and NS_LOG_FUNCTION.

Referenced by ~PbbPacket().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MessageEmpty()

bool ns3::PbbPacket::MessageEmpty ( ) const
Returns
true if there are no messages in this packet, false otherwise.

Definition at line 745 of file packetbb.cc.

References m_messageList, and NS_LOG_FUNCTION.

◆ MessageEnd() [1/2]

PbbPacket::MessageIterator ns3::PbbPacket::MessageEnd ( )
Returns
an iterator to the past-the-end element in this message block.

Definition at line 724 of file packetbb.cc.

References m_messageList, and NS_LOG_FUNCTION.

Referenced by GetSerializedSize(), MessageClear(), operator==(), Print(), and Serialize().

+ Here is the caller graph for this function:

◆ MessageEnd() [2/2]

PbbPacket::ConstMessageIterator ns3::PbbPacket::MessageEnd ( ) const
Returns
a const iterator to the past-the-end element in this message block.

Definition at line 731 of file packetbb.cc.

References m_messageList, and NS_LOG_FUNCTION.

◆ MessageFront() [1/2]

Ptr< PbbMessage > ns3::PbbPacket::MessageFront ( )
Returns
a smart pointer to the first message in this packet.

Definition at line 752 of file packetbb.cc.

References m_messageList, and NS_LOG_FUNCTION.

◆ MessageFront() [2/2]

const Ptr< PbbMessage > ns3::PbbPacket::MessageFront ( ) const
Returns
a const smart pointer to the first message in this packet.

Definition at line 759 of file packetbb.cc.

References m_messageList, and NS_LOG_FUNCTION.

◆ MessagePopBack()

void ns3::PbbPacket::MessagePopBack ( )

Removes a message from the back of this packet.

Definition at line 801 of file packetbb.cc.

References m_messageList, and NS_LOG_FUNCTION.

◆ MessagePopFront()

void ns3::PbbPacket::MessagePopFront ( )

Removes a message from the front of this packet.

Definition at line 787 of file packetbb.cc.

References m_messageList, and NS_LOG_FUNCTION.

◆ MessagePushBack()

void ns3::PbbPacket::MessagePushBack ( Ptr< PbbMessage message)

Appends a message to the back of this packet.

Parameters
messagea smart pointer to the message to append.

Definition at line 794 of file packetbb.cc.

References m_messageList, and NS_LOG_FUNCTION.

Referenced by Deserialize().

+ Here is the caller graph for this function:

◆ MessagePushFront()

void ns3::PbbPacket::MessagePushFront ( Ptr< PbbMessage message)

Prepends a message to the front of this packet.

Parameters
messagea smart pointer to the message to prepend.

Definition at line 780 of file packetbb.cc.

References m_messageList, and NS_LOG_FUNCTION.

◆ MessageSize()

int ns3::PbbPacket::MessageSize ( ) const
Returns
the number of messages in this packet.

Definition at line 738 of file packetbb.cc.

References m_messageList, and NS_LOG_FUNCTION.

Referenced by operator==().

+ Here is the caller graph for this function:

◆ operator!=()

bool ns3::PbbPacket::operator!= ( const PbbPacket other) const

Inequality operator for PbbPacket.

Parameters
otherPbbPacket to compare to this one
Returns
true if PbbPacket are not equal

Definition at line 1009 of file packetbb.cc.

◆ operator==()

bool ns3::PbbPacket::operator== ( const PbbPacket other) const

Equality operator for PbbPacket.

Parameters
otherPbbPacket to compare to this one
Returns
true if PbbPacket are equal

Definition at line 964 of file packetbb.cc.

References GetSequenceNumber(), GetVersion(), HasSequenceNumber(), m_tlvList, MessageBegin(), MessageEnd(), and MessageSize().

+ Here is the call graph for this function:

◆ Print()

void ns3::PbbPacket::Print ( std::ostream &  os) const
overridevirtual

Pretty-prints the contents of this block.

Parameters
osa stream object to print to.

Implements ns3::Header.

Definition at line 941 of file packetbb.cc.

References GetSequenceNumber(), HasSequenceNumber(), m_tlvList, MessageBegin(), MessageEnd(), NS_LOG_FUNCTION, and ns3::PbbTlvBlock::Print().

+ Here is the call graph for this function:

◆ Serialize()

void ns3::PbbPacket::Serialize ( Buffer::Iterator  start) const
overridevirtual

Serializes this packet into the specified buffer.

Parameters
starta reference to the point in a buffer to begin serializing.

Implements ns3::Header.

Definition at line 874 of file packetbb.cc.

References GetSequenceNumber(), HasSequenceNumber(), m_tlvList, MessageBegin(), MessageEnd(), NS_LOG_FUNCTION, PHAS_SEQ_NUM, PHAS_TLV, ns3::PbbTlvBlock::Serialize(), TlvEmpty(), ns3::VERSION, and ns3::Buffer::Iterator::WriteU8().

Referenced by PbbTestCase::TestSerialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetSequenceNumber()

void ns3::PbbPacket::SetSequenceNumber ( uint16_t  number)

Sets the sequence number of this packet.

Parameters
numberthe sequence number.

Definition at line 564 of file packetbb.cc.

References m_hasseqnum, m_seqnum, and NS_LOG_FUNCTION.

Referenced by Deserialize().

+ Here is the caller graph for this function:

◆ TlvBack() [1/2]

Ptr< PbbTlv > ns3::PbbPacket::TlvBack ( )
Returns
a smart pointer to the last packet TLV in this packet.

Definition at line 645 of file packetbb.cc.

References ns3::PbbTlvBlock::Back(), m_tlvList, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ TlvBack() [2/2]

const Ptr< PbbTlv > ns3::PbbPacket::TlvBack ( ) const
Returns
a const smart pointer to the last packet TLV in this packet.

Definition at line 652 of file packetbb.cc.

References ns3::PbbTlvBlock::Back(), m_tlvList, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ TlvBegin() [1/2]

PbbPacket::TlvIterator ns3::PbbPacket::TlvBegin ( )
Returns
an iterator to the first Packet TLV in this packet.

Definition at line 589 of file packetbb.cc.

References ns3::PbbTlvBlock::Begin(), m_tlvList, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ TlvBegin() [2/2]

PbbPacket::ConstTlvIterator ns3::PbbPacket::TlvBegin ( ) const
Returns
a const iterator to the first Packet TLV in this packet.

Definition at line 596 of file packetbb.cc.

References ns3::PbbTlvBlock::Begin(), m_tlvList, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ TlvClear()

void ns3::PbbPacket::TlvClear ( )

Removes all packet TLVs from this packet.

Definition at line 701 of file packetbb.cc.

References ns3::PbbTlvBlock::Clear(), m_tlvList, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ TlvEmpty()

bool ns3::PbbPacket::TlvEmpty ( ) const
Returns
true if there are no packet TLVs in this packet, false otherwise.

Definition at line 624 of file packetbb.cc.

References ns3::PbbTlvBlock::Empty(), m_tlvList, and NS_LOG_FUNCTION.

Referenced by GetSerializedSize(), and Serialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TlvEnd() [1/2]

PbbPacket::TlvIterator ns3::PbbPacket::TlvEnd ( )
Returns
an iterator to the past-the-end element in this packet TLV block.

Definition at line 603 of file packetbb.cc.

References ns3::PbbTlvBlock::End(), m_tlvList, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ TlvEnd() [2/2]

PbbPacket::ConstTlvIterator ns3::PbbPacket::TlvEnd ( ) const
Returns
a const iterator to the past-the-end element in this packet TLV block.

Definition at line 610 of file packetbb.cc.

References ns3::PbbTlvBlock::End(), m_tlvList, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ TlvFront() [1/2]

Ptr< PbbTlv > ns3::PbbPacket::TlvFront ( )
Returns
a smart pointer to the first packet TLV in this packet.

Definition at line 631 of file packetbb.cc.

References ns3::PbbTlvBlock::Front(), m_tlvList, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ TlvFront() [2/2]

const Ptr< PbbTlv > ns3::PbbPacket::TlvFront ( ) const
Returns
a const smart pointer to the first packet TLV in this packet.

Definition at line 638 of file packetbb.cc.

References ns3::PbbTlvBlock::Front(), m_tlvList, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ TlvPopBack()

void ns3::PbbPacket::TlvPopBack ( )

Removes a packet TLV from the back of this block.

Definition at line 680 of file packetbb.cc.

References m_tlvList, NS_LOG_FUNCTION, and ns3::PbbTlvBlock::PopBack().

+ Here is the call graph for this function:

◆ TlvPopFront()

void ns3::PbbPacket::TlvPopFront ( )

Removes a packet TLV from the front of this packet.

Definition at line 666 of file packetbb.cc.

References m_tlvList, NS_LOG_FUNCTION, and ns3::PbbTlvBlock::PopFront().

+ Here is the call graph for this function:

◆ TlvPushBack()

void ns3::PbbPacket::TlvPushBack ( Ptr< PbbTlv tlv)

Appends a packet TLV to the back of this packet.

Parameters
tlva smart pointer to the packet TLV to append.

Definition at line 673 of file packetbb.cc.

References m_tlvList, NS_LOG_FUNCTION, and ns3::PbbTlvBlock::PushBack().

+ Here is the call graph for this function:

◆ TlvPushFront()

void ns3::PbbPacket::TlvPushFront ( Ptr< PbbTlv tlv)

Prepends a packet TLV to the front of this packet.

Parameters
tlva smart pointer to the packet TLV to prepend.

Definition at line 659 of file packetbb.cc.

References m_tlvList, NS_LOG_FUNCTION, and ns3::PbbTlvBlock::PushFront().

+ Here is the call graph for this function:

◆ TlvSize()

int ns3::PbbPacket::TlvSize ( ) const
Returns
the number of packet TLVs in this packet.

Definition at line 617 of file packetbb.cc.

References m_tlvList, NS_LOG_FUNCTION, and ns3::PbbTlvBlock::Size().

+ Here is the call graph for this function:

Member Data Documentation

◆ m_hasseqnum

bool ns3::PbbPacket::m_hasseqnum
private

Sequence number present.

Definition at line 684 of file packetbb.h.

Referenced by PbbPacket(), HasSequenceNumber(), and SetSequenceNumber().

◆ m_messageList

std::list<Ptr<PbbMessage> > ns3::PbbPacket::m_messageList
private

◆ m_seqnum

uint16_t ns3::PbbPacket::m_seqnum
private

Sequence number.

Definition at line 685 of file packetbb.h.

Referenced by GetSequenceNumber(), and SetSequenceNumber().

◆ m_tlvList

◆ m_version

uint8_t ns3::PbbPacket::m_version
private

version

Definition at line 682 of file packetbb.h.

Referenced by PbbPacket(), Deserialize(), and GetVersion().


The documentation for this class was generated from the following files: