A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::PbbMessage Class Reference

A message within a PbbPacket packet. More...

#include <packetbb.h>

+ Inheritance diagram for ns3::PbbMessage:
+ Collaboration diagram for ns3::PbbMessage:

Public Types

typedef std::list< Ptr
< PbbAddressBlock >
>::iterator 
AddressBlockIterator
typedef std::list< Ptr
< PbbAddressBlock >
>::const_iterator 
ConstAddressBlockIterator
typedef std::list< Ptr< PbbTlv >
>::const_iterator 
ConstTlvIterator
typedef std::list< Ptr< PbbTlv >
>::iterator 
TlvIterator

Public Member Functions

 PbbMessage ()
virtual ~PbbMessage ()
Ptr< PbbAddressBlockAddressBlockBack (void)
const Ptr< PbbAddressBlockAddressBlockBack (void) const
AddressBlockIterator AddressBlockBegin ()
ConstAddressBlockIterator AddressBlockBegin () const
void AddressBlockClear (void)
 Removes all address blocks from this message.
bool AddressBlockEmpty (void) const
AddressBlockIterator AddressBlockEnd ()
ConstAddressBlockIterator AddressBlockEnd () const
AddressBlockIterator AddressBlockErase (AddressBlockIterator position)
 Removes the address block at the specified position.
AddressBlockIterator AddressBlockErase (AddressBlockIterator first, AddressBlockIterator last)
 Removes all address blocks from [first, last) (includes first, not includes last).
Ptr< PbbAddressBlockAddressBlockFront (void)
const Ptr< PbbAddressBlockAddressBlockFront (void) const
void AddressBlockPopBack (void)
 Removes an address block from the back of this message.
void AddressBlockPopFront (void)
 Removes an address block from the front of this message.
void AddressBlockPushBack (Ptr< PbbAddressBlock > block)
 Appends an address block to the front of this message.
void AddressBlockPushFront (Ptr< PbbAddressBlock > block)
 Prepends an address block to the front of this message.
int AddressBlockSize (void) const
void Deserialize (Buffer::Iterator &start)
 Deserializes a message from the specified buffer.
uint8_t GetHopCount (void) const
uint8_t GetHopLimit (void) const
Address GetOriginatorAddress (void) const
uint16_t GetSequenceNumber (void) const
uint32_t GetSerializedSize (void) const
uint8_t GetType (void) const
bool HasHopCount (void) const
 Tests whether or not this message has a hop count.
bool HasHopLimit (void) const
 Tests whether or not this message has a hop limit.
bool HasOriginatorAddress (void) const
 Tests whether or not this message has an originator address.
bool HasSequenceNumber (void) const
 Tests whether or not this message has a sequence number.
bool operator!= (const PbbMessage &other) const
bool operator== (const PbbMessage &other) const
void Print (std::ostream &os) const
 Pretty-prints the contents of this message.
void Print (std::ostream &os, int level) const
 Pretty-prints the contents of this message, with specified indentation.
void Serialize (Buffer::Iterator &start) const
 Serializes this message into the specified buffer.
void SetHopCount (uint8_t hopcount)
 Sets the current number of hops this message has traveled.
void SetHopLimit (uint8_t hoplimit)
 Sets the maximum number of hops this message should travel.
void SetOriginatorAddress (Address address)
 Sets the address for the node that created this packet.
void SetSequenceNumber (uint16_t seqnum)
 Sets the sequence number of this message.
void SetType (uint8_t type)
 Sets the type for this message.
Ptr< PbbTlvTlvBack (void)
const Ptr< PbbTlvTlvBack (void) const
TlvIterator TlvBegin ()
ConstTlvIterator TlvBegin () const
void TlvClear (void)
 Removes all message TLVs from this block.
bool TlvEmpty (void) const
TlvIterator TlvEnd ()
ConstTlvIterator TlvEnd () const
TlvIterator TlvErase (TlvIterator position)
 Removes the message TLV at the specified position.
TlvIterator TlvErase (TlvIterator first, TlvIterator last)
 Removes all message TLVs from [first, last) (includes first, not includes last).
Ptr< PbbTlvTlvFront (void)
const Ptr< PbbTlvTlvFront (void) const
void TlvPopBack (void)
 Removes a message TLV from the back of this message.
void TlvPopFront (void)
 Removes a message TLV from the front of this message.
void TlvPushBack (Ptr< PbbTlv > tlv)
 Appends a message TLV to the back of this message.
void TlvPushFront (Ptr< PbbTlv > tlv)
 Prepends a message TLV to the front of this message.
int TlvSize (void) const
- Public Member Functions inherited from ns3::SimpleRefCount< PbbMessage >
 SimpleRefCount ()
 SimpleRefCount (const SimpleRefCount &o)
uint32_t GetReferenceCount (void) const
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const

Static Public Member Functions

static Ptr< PbbMessageDeserializeMessage (Buffer::Iterator &start)
 Deserializes a message, returning the correct object depending on whether it is an IPv4 message or an IPv6 message.
- Static Public Member Functions inherited from ns3::SimpleRefCount< PbbMessage >
static void Cleanup (void)

Protected Member Functions

virtual Ptr< PbbAddressBlockAddressBlockDeserialize (Buffer::Iterator &start) const =0
virtual Address DeserializeOriginatorAddress (Buffer::Iterator &start) const =0
virtual PbbAddressLength GetAddressLength (void) const =0
virtual void PrintOriginatorAddress (std::ostream &os) const =0
virtual void SerializeOriginatorAddress (Buffer::Iterator &start) const =0

Private Attributes

std::list< Ptr< PbbAddressBlock > > m_addressBlockList
PbbAddressLength m_addrSize
bool m_hasHopCount
bool m_hasHopLimit
bool m_hasOriginatorAddress
bool m_hasSequenceNumber
uint8_t m_hopCount
uint8_t m_hopLimit
Address m_originatorAddress
uint16_t m_sequenceNumber
PbbTlvBlock m_tlvList
uint8_t m_type

Detailed Description

A message within a PbbPacket packet.

There may be any number of messages in one packet packet. This is a pure virtual base class, when creating a message, you should instantiate either PbbMessageIpv4 or PbbMessageIpv6.

Definition at line 652 of file packetbb.h.

Member Typedef Documentation

Definition at line 657 of file packetbb.h.

Definition at line 658 of file packetbb.h.

Definition at line 656 of file packetbb.h.

Definition at line 655 of file packetbb.h.

Constructor & Destructor Documentation

ns3::PbbMessage::PbbMessage ( )
ns3::PbbMessage::~PbbMessage ( )
virtual

Definition at line 942 of file packetbb.cc.

References AddressBlockClear().

+ Here is the call graph for this function:

Member Function Documentation

Ptr< PbbAddressBlock > ns3::PbbMessage::AddressBlockBack ( void  )
Returns
a smart pointer to the last address block in this message.

Definition at line 1200 of file packetbb.cc.

References m_addressBlockList.

const Ptr< PbbAddressBlock > ns3::PbbMessage::AddressBlockBack ( void  ) const
Returns
a const smart pointer to the last address block in this message.

Definition at line 1206 of file packetbb.cc.

References m_addressBlockList.

PbbMessage::AddressBlockIterator ns3::PbbMessage::AddressBlockBegin ( void  )
Returns
an iterator to the first address block in this message.

Definition at line 1152 of file packetbb.cc.

References m_addressBlockList.

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

+ Here is the caller graph for this function:

PbbMessage::ConstAddressBlockIterator ns3::PbbMessage::AddressBlockBegin ( void  ) const
Returns
a const iterator to the first address block in this message.

Definition at line 1158 of file packetbb.cc.

References m_addressBlockList.

void ns3::PbbMessage::AddressBlockClear ( void  )

Removes all address blocks from this message.

Definition at line 1249 of file packetbb.cc.

References AddressBlockBegin(), AddressBlockEnd(), and m_addressBlockList.

Referenced by ~PbbMessage().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual Ptr<PbbAddressBlock> ns3::PbbMessage::AddressBlockDeserialize ( Buffer::Iterator start) const
protectedpure virtual

Implemented in ns3::PbbMessageIpv6, and ns3::PbbMessageIpv4.

Referenced by Deserialize().

+ Here is the caller graph for this function:

bool ns3::PbbMessage::AddressBlockEmpty ( void  ) const
Returns
true if there are no address blocks in this message, false otherwise.

Definition at line 1182 of file packetbb.cc.

References m_addressBlockList.

PbbMessage::AddressBlockIterator ns3::PbbMessage::AddressBlockEnd ( void  )
Returns
an iterator to the past-the-end address block element in this message.

Definition at line 1164 of file packetbb.cc.

References m_addressBlockList.

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

+ Here is the caller graph for this function:

PbbMessage::ConstAddressBlockIterator ns3::PbbMessage::AddressBlockEnd ( void  ) const
Returns
a const iterator to the past-the-end address block element in this message.

Definition at line 1170 of file packetbb.cc.

References m_addressBlockList.

PbbMessage::AddressBlockIterator ns3::PbbMessage::AddressBlockErase ( PbbMessage::AddressBlockIterator  position)

Removes the address block at the specified position.

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

Definition at line 1236 of file packetbb.cc.

References m_addressBlockList.

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

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

Definition at line 1242 of file packetbb.cc.

References m_addressBlockList.

Ptr< PbbAddressBlock > ns3::PbbMessage::AddressBlockFront ( void  )
Returns
a smart pointer to the first address block in this message.

Definition at line 1188 of file packetbb.cc.

References m_addressBlockList.

const Ptr< PbbAddressBlock > ns3::PbbMessage::AddressBlockFront ( void  ) const
Returns
a const smart pointer to the first address block in this message.

Definition at line 1194 of file packetbb.cc.

References m_addressBlockList.

void ns3::PbbMessage::AddressBlockPopBack ( void  )

Removes an address block from the back of this message.

Definition at line 1230 of file packetbb.cc.

References m_addressBlockList.

void ns3::PbbMessage::AddressBlockPopFront ( void  )

Removes an address block from the front of this message.

Definition at line 1218 of file packetbb.cc.

References m_addressBlockList.

void ns3::PbbMessage::AddressBlockPushBack ( Ptr< PbbAddressBlock block)

Appends an address block to the front of this message.

Parameters
blocka smart pointer to the address block to append.

Definition at line 1224 of file packetbb.cc.

References m_addressBlockList.

Referenced by Deserialize(), and PbbTestSuite::PbbTestSuite().

+ Here is the caller graph for this function:

void ns3::PbbMessage::AddressBlockPushFront ( Ptr< PbbAddressBlock block)

Prepends an address block to the front of this message.

Parameters
blocka smart pointer to the address block to prepend.

Definition at line 1212 of file packetbb.cc.

References m_addressBlockList.

int ns3::PbbMessage::AddressBlockSize ( void  ) const
Returns
the number of address blocks in this message.

Definition at line 1176 of file packetbb.cc.

References m_addressBlockList.

Referenced by operator==().

+ Here is the caller graph for this function:

void ns3::PbbMessage::Deserialize ( Buffer::Iterator start)

Deserializes a message from the specified buffer.

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

Users should not need to call this. Blocks will be deserialized by their containing packet.

Definition at line 1387 of file packetbb.cc.

References AddressBlockDeserialize(), AddressBlockPushBack(), ns3::PbbTlvBlock::Deserialize(), DeserializeOriginatorAddress(), ns3::Buffer::Iterator::GetDistanceFrom(), m_tlvList, MHAS_HOP_COUNT, MHAS_HOP_LIMIT, MHAS_ORIG, MHAS_SEQ_NUM, ns3::Buffer::Iterator::ReadNtohU16(), ns3::Buffer::Iterator::ReadU8(), SetHopCount(), SetHopLimit(), SetOriginatorAddress(), SetSequenceNumber(), SetType(), and visualizer.core::start().

Referenced by DeserializeMessage(), ns3::PbbMessageIpv4::DeserializeOriginatorAddress(), and ns3::PbbMessageIpv6::DeserializeOriginatorAddress().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Ptr< PbbMessage > ns3::PbbMessage::DeserializeMessage ( Buffer::Iterator start)
static

Deserializes a message, returning the correct object depending on whether it is an IPv4 message or an IPv6 message.

Parameters
starta reference to the point in a buffer to begin deserializing.
Returns
A pointer to the deserialized message, or 0 on error.

Users should not need to call this. Blocks will be deserialized by their containing packet.

Definition at line 1355 of file packetbb.cc.

References Deserialize(), ns3::IPV4, ns3::IPV6, ns3::Buffer::Iterator::Next(), ns3::Buffer::Iterator::Prev(), and ns3::Buffer::Iterator::ReadU8().

Referenced by ns3::PbbPacket::Deserialize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual Address ns3::PbbMessage::DeserializeOriginatorAddress ( Buffer::Iterator start) const
protectedpure virtual

Implemented in ns3::PbbMessageIpv6, and ns3::PbbMessageIpv4.

Referenced by Deserialize().

+ Here is the caller graph for this function:

PbbAddressLength ns3::PbbMessage::GetAddressLength ( void  ) const
protectedpure virtual

Implemented in ns3::PbbMessageIpv6, and ns3::PbbMessageIpv4.

Definition at line 960 of file packetbb.cc.

References m_addrSize.

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

+ Here is the caller graph for this function:

uint8_t ns3::PbbMessage::GetHopCount ( void  ) const
Returns
the current number of hops this message has traveled.

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

Definition at line 1013 of file packetbb.cc.

References HasHopCount(), m_hopCount, and NS_ASSERT.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint8_t ns3::PbbMessage::GetHopLimit ( void  ) const
Returns
the maximum number of hops this message should travel.

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

Definition at line 993 of file packetbb.cc.

References HasHopLimit(), m_hopLimit, and NS_ASSERT.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Address ns3::PbbMessage::GetOriginatorAddress ( void  ) const
Returns
the address of the node that created this packet.

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

Definition at line 973 of file packetbb.cc.

References HasOriginatorAddress(), m_originatorAddress, and NS_ASSERT.

Referenced by operator==(), ns3::PbbMessageIpv4::PrintOriginatorAddress(), ns3::PbbMessageIpv6::PrintOriginatorAddress(), ns3::PbbMessageIpv4::SerializeOriginatorAddress(), and ns3::PbbMessageIpv6::SerializeOriginatorAddress().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint16_t ns3::PbbMessage::GetSequenceNumber ( void  ) const
Returns
the sequence number of this message.

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 1033 of file packetbb.cc.

References HasSequenceNumber(), m_sequenceNumber, and NS_ASSERT.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint32_t ns3::PbbMessage::GetSerializedSize ( void  ) const
Returns
The size (in bytes) needed to serialize this message.

Definition at line 1261 of file packetbb.cc.

References AddressBlockBegin(), AddressBlockEnd(), GetAddressLength(), ns3::PbbTlvBlock::GetSerializedSize(), HasHopCount(), HasHopLimit(), HasOriginatorAddress(), HasSequenceNumber(), and m_tlvList.

+ Here is the call graph for this function:

uint8_t ns3::PbbMessage::GetType ( void  ) const
Returns
the type assigned to this packet

Definition at line 954 of file packetbb.cc.

References m_type.

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

+ Here is the caller graph for this function:

bool ns3::PbbMessage::HasHopCount ( void  ) const

Tests whether or not this message has a hop count.

Returns
true if this message has a hop limit, false otherwise.

Definition at line 1020 of file packetbb.cc.

References m_hasHopCount.

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

+ Here is the caller graph for this function:

bool ns3::PbbMessage::HasHopLimit ( void  ) const

Tests whether or not this message has a hop limit.

Returns
true if this message has a hop limit, false otherwise.

If this is set, messages should not hop further than this limit.

Definition at line 1000 of file packetbb.cc.

References m_hasHopLimit.

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

+ Here is the caller graph for this function:

bool ns3::PbbMessage::HasOriginatorAddress ( void  ) const

Tests whether or not this message has an originator address.

Returns
true if this message has an originator address, false otherwise.

Definition at line 980 of file packetbb.cc.

References m_hasOriginatorAddress.

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

+ Here is the caller graph for this function:

bool ns3::PbbMessage::HasSequenceNumber ( void  ) const

Tests whether or not this message has a sequence number.

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

Definition at line 1040 of file packetbb.cc.

References m_hasSequenceNumber.

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

+ Here is the caller graph for this function:

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

Definition at line 1569 of file packetbb.cc.

bool ns3::PbbMessage::operator== ( const PbbMessage other) const
void ns3::PbbMessage::Print ( std::ostream &  os) const

Pretty-prints the contents of this message.

Parameters
osa stream object to print to.

Definition at line 1428 of file packetbb.cc.

void ns3::PbbMessage::Print ( std::ostream &  os,
int  level 
) const

Pretty-prints the contents of this message, with specified indentation.

Parameters
osa stream object to print to.
levellevel of indentation.

This probably never needs to be called by users. This is used when recursively printing sub-objects.

Definition at line 1434 of file packetbb.cc.

References AddressBlockBegin(), AddressBlockEnd(), GetAddressLength(), GetHopCount(), GetHopLimit(), GetSequenceNumber(), GetType(), HasHopCount(), HasHopLimit(), HasOriginatorAddress(), HasSequenceNumber(), m_tlvList, ns3::PbbTlvBlock::Print(), and PrintOriginatorAddress().

+ Here is the call graph for this function:

virtual void ns3::PbbMessage::PrintOriginatorAddress ( std::ostream &  os) const
protectedpure virtual

Implemented in ns3::PbbMessageIpv6, and ns3::PbbMessageIpv4.

Referenced by Print().

+ Here is the caller graph for this function:

void ns3::PbbMessage::Serialize ( Buffer::Iterator start) const

Serializes this message into the specified buffer.

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

Users should not need to call this. Blocks will be deserialized by their containing packet.

Definition at line 1299 of file packetbb.cc.

References AddressBlockBegin(), AddressBlockEnd(), GetAddressLength(), ns3::Buffer::Iterator::GetDistanceFrom(), GetHopCount(), GetHopLimit(), GetSequenceNumber(), GetType(), HasHopCount(), HasHopLimit(), HasOriginatorAddress(), HasSequenceNumber(), m_tlvList, MHAS_HOP_COUNT, MHAS_HOP_LIMIT, MHAS_ORIG, MHAS_SEQ_NUM, ns3::Buffer::Iterator::Next(), ns3::PbbTlvBlock::Serialize(), SerializeOriginatorAddress(), visualizer.core::start(), ns3::Buffer::Iterator::WriteHtonU16(), and ns3::Buffer::Iterator::WriteU8().

+ Here is the call graph for this function:

virtual void ns3::PbbMessage::SerializeOriginatorAddress ( Buffer::Iterator start) const
protectedpure virtual

Implemented in ns3::PbbMessageIpv6, and ns3::PbbMessageIpv4.

Referenced by Serialize().

+ Here is the caller graph for this function:

void ns3::PbbMessage::SetHopCount ( uint8_t  hopcount)

Sets the current number of hops this message has traveled.

Parameters
hopcountthe current number of hops

Definition at line 1006 of file packetbb.cc.

References m_hasHopCount, and m_hopCount.

Referenced by Deserialize(), and PbbTestSuite::PbbTestSuite().

+ Here is the caller graph for this function:

void ns3::PbbMessage::SetHopLimit ( uint8_t  hoplimit)

Sets the maximum number of hops this message should travel.

Parameters
hoplimitthe limit to set

Definition at line 986 of file packetbb.cc.

References m_hasHopLimit, and m_hopLimit.

Referenced by Deserialize(), and PbbTestSuite::PbbTestSuite().

+ Here is the caller graph for this function:

void ns3::PbbMessage::SetOriginatorAddress ( Address  address)

Sets the address for the node that created this packet.

Parameters
addressthe originator address.

Definition at line 966 of file packetbb.cc.

References m_hasOriginatorAddress, and m_originatorAddress.

Referenced by Deserialize(), and PbbTestSuite::PbbTestSuite().

+ Here is the caller graph for this function:

void ns3::PbbMessage::SetSequenceNumber ( uint16_t  seqnum)

Sets the sequence number of this message.

Parameters
seqnumthe sequence number to set.

Definition at line 1026 of file packetbb.cc.

References m_hasSequenceNumber, and m_sequenceNumber.

Referenced by Deserialize(), and PbbTestSuite::PbbTestSuite().

+ Here is the caller graph for this function:

void ns3::PbbMessage::SetType ( uint8_t  type)

Sets the type for this message.

Parameters
typethe type to set.

Definition at line 948 of file packetbb.cc.

References m_type.

Referenced by Deserialize(), and PbbTestSuite::PbbTestSuite().

+ Here is the caller graph for this function:

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

Definition at line 1096 of file packetbb.cc.

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

+ Here is the call graph for this function:

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

Definition at line 1102 of file packetbb.cc.

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

+ Here is the call graph for this function:

PbbMessage::TlvIterator ns3::PbbMessage::TlvBegin ( void  )
Returns
an iterator to the first message TLV in this message.

Definition at line 1048 of file packetbb.cc.

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

+ Here is the call graph for this function:

PbbMessage::ConstTlvIterator ns3::PbbMessage::TlvBegin ( void  ) const
Returns
a const iterator to the first message TLV in this message.

Definition at line 1054 of file packetbb.cc.

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

+ Here is the call graph for this function:

void ns3::PbbMessage::TlvClear ( void  )

Removes all message TLVs from this block.

Definition at line 1144 of file packetbb.cc.

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

+ Here is the call graph for this function:

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

Definition at line 1078 of file packetbb.cc.

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

+ Here is the call graph for this function:

PbbMessage::TlvIterator ns3::PbbMessage::TlvEnd ( void  )
Returns
an iterator to the past-the-end message TLV element in this message.

Definition at line 1060 of file packetbb.cc.

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

+ Here is the call graph for this function:

PbbMessage::ConstTlvIterator ns3::PbbMessage::TlvEnd ( void  ) const
Returns
a const iterator to the past-the-end message TLV element in this message.

Definition at line 1066 of file packetbb.cc.

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

+ Here is the call graph for this function:

PbbMessage::TlvIterator ns3::PbbMessage::TlvErase ( PbbMessage::TlvIterator  position)

Removes the message TLV at the specified position.

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

Definition at line 1132 of file packetbb.cc.

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

+ Here is the call graph for this function:

PbbMessage::TlvIterator ns3::PbbMessage::TlvErase ( PbbMessage::TlvIterator  first,
PbbMessage::TlvIterator  last 
)

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

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

Definition at line 1138 of file packetbb.cc.

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

+ Here is the call graph for this function:

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

Definition at line 1084 of file packetbb.cc.

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

+ Here is the call graph for this function:

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

Definition at line 1090 of file packetbb.cc.

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

+ Here is the call graph for this function:

void ns3::PbbMessage::TlvPopBack ( void  )

Removes a message TLV from the back of this message.

Definition at line 1126 of file packetbb.cc.

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

+ Here is the call graph for this function:

void ns3::PbbMessage::TlvPopFront ( void  )

Removes a message TLV from the front of this message.

Definition at line 1114 of file packetbb.cc.

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

+ Here is the call graph for this function:

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

Appends a message TLV to the back of this message.

Parameters
tlva smart pointer to the message TLV to append.

Definition at line 1120 of file packetbb.cc.

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

Referenced by PbbTestSuite::PbbTestSuite().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Prepends a message TLV to the front of this message.

Parameters
tlva smart pointer to the message TLV to prepend.

Definition at line 1108 of file packetbb.cc.

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

+ Here is the call graph for this function:

int ns3::PbbMessage::TlvSize ( void  ) const
Returns
the number of message TLVs in this message.

Definition at line 1072 of file packetbb.cc.

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

+ Here is the call graph for this function:

Member Data Documentation

PbbAddressLength ns3::PbbMessage::m_addrSize
private

Definition at line 1028 of file packetbb.h.

Referenced by GetAddressLength(), and PbbMessage().

bool ns3::PbbMessage::m_hasHopCount
private

Definition at line 1036 of file packetbb.h.

Referenced by HasHopCount(), PbbMessage(), and SetHopCount().

bool ns3::PbbMessage::m_hasHopLimit
private

Definition at line 1033 of file packetbb.h.

Referenced by HasHopLimit(), PbbMessage(), and SetHopLimit().

bool ns3::PbbMessage::m_hasOriginatorAddress
private

Definition at line 1030 of file packetbb.h.

Referenced by HasOriginatorAddress(), PbbMessage(), and SetOriginatorAddress().

bool ns3::PbbMessage::m_hasSequenceNumber
private

Definition at line 1039 of file packetbb.h.

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

uint8_t ns3::PbbMessage::m_hopCount
private

Definition at line 1037 of file packetbb.h.

Referenced by GetHopCount(), and SetHopCount().

uint8_t ns3::PbbMessage::m_hopLimit
private

Definition at line 1034 of file packetbb.h.

Referenced by GetHopLimit(), and SetHopLimit().

Address ns3::PbbMessage::m_originatorAddress
private

Definition at line 1031 of file packetbb.h.

Referenced by GetOriginatorAddress(), and SetOriginatorAddress().

uint16_t ns3::PbbMessage::m_sequenceNumber
private

Definition at line 1040 of file packetbb.h.

Referenced by GetSequenceNumber(), and SetSequenceNumber().

uint8_t ns3::PbbMessage::m_type
private

Definition at line 1027 of file packetbb.h.

Referenced by GetType(), and SetType().


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