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

A block of Address TLVs (PbbAddressTlv). More...

#include <packetbb.h>

+ Collaboration diagram for ns3::PbbAddressTlvBlock:

Public Types

typedef std::list< Ptr
< PbbAddressTlv >
>::const_iterator 
ConstIterator
 This is a PbbAddressTlv iterator for PbbAddressTlvBlock. More...
 
typedef std::list< Ptr
< PbbAddressTlv > >::iterator 
Iterator
 

Public Member Functions

 PbbAddressTlvBlock (void)
 This is a const PbbAddressTlv iterator for PbbAddressTlvBlock. More...
 
 ~PbbAddressTlvBlock (void)
 
Ptr< PbbAddressTlvBack (void) const
 
Iterator Begin (void)
 
ConstIterator Begin (void) const
 
void Clear (void)
 Removes all Address TLVs from this block. More...
 
void Deserialize (Buffer::Iterator &start)
 Deserializes a block from the specified buffer. More...
 
bool Empty (void) const
 
Iterator End (void)
 
ConstIterator End (void) const
 
Iterator Erase (Iterator position)
 Removes the Address TLV at the specified position. More...
 
Iterator Erase (Iterator first, Iterator last)
 Removes all Address TLVs from [first, last) (includes first, not includes last). More...
 
Ptr< PbbAddressTlvFront (void) const
 
uint32_t GetSerializedSize (void) const
 
Iterator Insert (Iterator position, const Ptr< PbbAddressTlv > tlv)
 Inserts an Address TLV at the specified position in this block. More...
 
bool operator!= (const PbbAddressTlvBlock &other) const
 Inequality operator for PbbAddressTlvBlock. More...
 
bool operator== (const PbbAddressTlvBlock &other) const
 Equality operator for PbbAddressTlvBlock. More...
 
void PopBack (void)
 Removes an Address TLV from the back of this block. More...
 
void PopFront (void)
 Removes an AddressTLV from the front of this block. More...
 
void Print (std::ostream &os) const
 Pretty-prints the contents of this block. More...
 
void Print (std::ostream &os, int level) const
 Pretty-prints the contents of this block, with specified indentation. More...
 
void PushBack (Ptr< PbbAddressTlv > tlv)
 Appends an Address TLV to the back of this block. More...
 
void PushFront (Ptr< PbbAddressTlv > tlv)
 Prepends an Address TLV to the front of this block. More...
 
void Serialize (Buffer::Iterator &start) const
 Serializes this block into the specified buffer. More...
 
int Size (void) const
 

Private Attributes

std::list< Ptr< PbbAddressTlv > > m_tlvList
 

Detailed Description

A block of Address TLVs (PbbAddressTlv).

Acts similar to a C++ STL container.

Definition at line 217 of file packetbb.h.

Member Typedef Documentation

This is a PbbAddressTlv iterator for PbbAddressTlvBlock.

Definition at line 221 of file packetbb.h.

Definition at line 220 of file packetbb.h.

Constructor & Destructor Documentation

ns3::PbbAddressTlvBlock::PbbAddressTlvBlock ( void  )

This is a const PbbAddressTlv iterator for PbbAddressTlvBlock.

Definition at line 305 of file packetbb.cc.

References NS_LOG_FUNCTION.

ns3::PbbAddressTlvBlock::~PbbAddressTlvBlock ( void  )

Definition at line 311 of file packetbb.cc.

References Clear(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

Member Function Documentation

Ptr< PbbAddressTlv > ns3::PbbAddressTlvBlock::Back ( void  ) const
Returns
the last AddressTLV in this block.

Definition at line 367 of file packetbb.cc.

References m_tlvList, and NS_LOG_FUNCTION.

Referenced by ns3::PbbAddressBlock::TlvBack().

+ Here is the caller graph for this function:

PbbAddressTlvBlock::Iterator ns3::PbbAddressTlvBlock::Begin ( void  )
Returns
an iterator to the first Address TLV in this block.

Definition at line 318 of file packetbb.cc.

References m_tlvList, and NS_LOG_FUNCTION.

Referenced by Clear(), GetSerializedSize(), operator==(), Print(), Serialize(), and ns3::PbbAddressBlock::TlvBegin().

+ Here is the caller graph for this function:

PbbAddressTlvBlock::ConstIterator ns3::PbbAddressTlvBlock::Begin ( void  ) const
Returns
a const iterator to the first Address TLV in this block.

Definition at line 325 of file packetbb.cc.

References m_tlvList, and NS_LOG_FUNCTION.

void ns3::PbbAddressTlvBlock::Clear ( void  )

Removes all Address TLVs from this block.

Definition at line 423 of file packetbb.cc.

References Begin(), End(), m_tlvList, and NS_LOG_FUNCTION.

Referenced by ns3::PbbAddressBlock::TlvClear(), and ~PbbAddressTlvBlock().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Deserializes a block 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 470 of file packetbb.cc.

References ns3::Buffer::Iterator::GetDistanceFrom(), NS_LOG_FUNCTION, PushBack(), ns3::Buffer::Iterator::ReadNtohU16(), and visualizer.core::start().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool ns3::PbbAddressTlvBlock::Empty ( void  ) const
Returns
true if there are no Address TLVs in this block, false otherwise.

Definition at line 353 of file packetbb.cc.

References m_tlvList, and NS_LOG_FUNCTION.

Referenced by Serialize(), and ns3::PbbAddressBlock::TlvEmpty().

+ Here is the caller graph for this function:

PbbAddressTlvBlock::Iterator ns3::PbbAddressTlvBlock::End ( void  )
Returns
an iterator to the past-the-end element in this block.

Definition at line 332 of file packetbb.cc.

References m_tlvList, and NS_LOG_FUNCTION.

Referenced by Clear(), GetSerializedSize(), operator==(), Print(), Serialize(), and ns3::PbbAddressBlock::TlvEnd().

+ Here is the caller graph for this function:

PbbAddressTlvBlock::ConstIterator ns3::PbbAddressTlvBlock::End ( void  ) const
Returns
a const iterator to the past-the-end element in this block.

Definition at line 339 of file packetbb.cc.

References m_tlvList, and NS_LOG_FUNCTION.

PbbAddressTlvBlock::Iterator ns3::PbbAddressTlvBlock::Erase ( PbbAddressTlvBlock::Iterator  position)

Removes the Address TLV at the specified position.

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

Definition at line 409 of file packetbb.cc.

References m_tlvList, and NS_LOG_FUNCTION.

Referenced by ns3::PbbAddressBlock::TlvErase().

+ Here is the caller graph for this function:

PbbAddressTlvBlock::Iterator ns3::PbbAddressTlvBlock::Erase ( PbbAddressTlvBlock::Iterator  first,
PbbAddressTlvBlock::Iterator  last 
)

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

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

Definition at line 416 of file packetbb.cc.

References m_tlvList, and NS_LOG_FUNCTION.

Ptr< PbbAddressTlv > ns3::PbbAddressTlvBlock::Front ( void  ) const
Returns
the first Address TLV in this block.

Definition at line 360 of file packetbb.cc.

References m_tlvList, and NS_LOG_FUNCTION.

Referenced by ns3::PbbAddressBlock::TlvFront().

+ Here is the caller graph for this function:

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

Definition at line 434 of file packetbb.cc.

References Begin(), End(), and NS_LOG_FUNCTION.

Referenced by ns3::PbbAddressBlock::GetSerializedSize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

PbbAddressTlvBlock::Iterator ns3::PbbAddressTlvBlock::Insert ( PbbAddressTlvBlock::Iterator  position,
const Ptr< PbbAddressTlv tlv 
)

Inserts an Address TLV at the specified position in this block.

Parameters
positionan Iterator pointing to the position in this block to insert the Address TLV.
tlva smart pointer to the Address TLV to insert.
Returns
An iterator pointing to the newly inserted Address TLV.

Definition at line 402 of file packetbb.cc.

References m_tlvList, and NS_LOG_FUNCTION.

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

Inequality operator for PbbAddressTlvBlock.

Parameters
otherPbbAddressTlvBlock to compare to this one
Returns
true if PbbAddressTlvBlock are not equal

Definition at line 539 of file packetbb.cc.

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

Equality operator for PbbAddressTlvBlock.

Parameters
otherPbbAddressTlvBlock to compare to this one
Returns
true if PbbAddressTlvBlock are equal

Definition at line 518 of file packetbb.cc.

References Begin(), End(), and Size().

+ Here is the call graph for this function:

void ns3::PbbAddressTlvBlock::PopBack ( void  )

Removes an Address TLV from the back of this block.

Definition at line 395 of file packetbb.cc.

References m_tlvList, and NS_LOG_FUNCTION.

Referenced by ns3::PbbAddressBlock::TlvPopBack().

+ Here is the caller graph for this function:

void ns3::PbbAddressTlvBlock::PopFront ( void  )

Removes an AddressTLV from the front of this block.

Definition at line 381 of file packetbb.cc.

References m_tlvList, and NS_LOG_FUNCTION.

Referenced by ns3::PbbAddressBlock::TlvPopFront().

+ Here is the caller graph for this function:

void ns3::PbbAddressTlvBlock::Print ( std::ostream &  os) const

Pretty-prints the contents of this block.

Parameters
osa stream object to print to.

Definition at line 488 of file packetbb.cc.

References NS_LOG_FUNCTION.

Referenced by ns3::PbbAddressBlock::Print().

+ Here is the caller graph for this function:

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

Pretty-prints the contents of this block, 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 495 of file packetbb.cc.

References Begin(), End(), NS_LOG_FUNCTION, and Size().

+ Here is the call graph for this function:

void ns3::PbbAddressTlvBlock::PushBack ( Ptr< PbbAddressTlv tlv)

Appends an Address TLV to the back of this block.

Parameters
tlva smart pointer to the Address TLV to append.

Definition at line 388 of file packetbb.cc.

References m_tlvList, and NS_LOG_FUNCTION.

Referenced by Deserialize(), and ns3::PbbAddressBlock::TlvPushBack().

+ Here is the caller graph for this function:

void ns3::PbbAddressTlvBlock::PushFront ( Ptr< PbbAddressTlv tlv)

Prepends an Address TLV to the front of this block.

Parameters
tlva smart pointer to the Address TLV to prepend.

Definition at line 374 of file packetbb.cc.

References m_tlvList, and NS_LOG_FUNCTION.

Referenced by ns3::PbbAddressBlock::TlvPushFront().

+ Here is the caller graph for this function:

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

Serializes this block 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 serialized by their containing packet.

Definition at line 447 of file packetbb.cc.

References Begin(), Empty(), End(), ns3::Buffer::Iterator::GetDistanceFrom(), ns3::Buffer::Iterator::Next(), NS_LOG_FUNCTION, visualizer.core::start(), and ns3::Buffer::Iterator::WriteHtonU16().

Referenced by ns3::PbbAddressBlock::Serialize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ns3::PbbAddressTlvBlock::Size ( void  ) const
Returns
the number of Address TLVs in this block.

Definition at line 346 of file packetbb.cc.

References m_tlvList, and NS_LOG_FUNCTION.

Referenced by operator==(), Print(), and ns3::PbbAddressBlock::TlvSize().

+ Here is the caller graph for this function:

Member Data Documentation

std::list< Ptr<PbbAddressTlv> > ns3::PbbAddressTlvBlock::m_tlvList
private

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