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

Concrete IPv4 specific PbbAddressBlock. More...

#include <packetbb.h>

+ Inheritance diagram for ns3::PbbAddressBlockIpv4:
+ Collaboration diagram for ns3::PbbAddressBlockIpv4:

Public Member Functions

 PbbAddressBlockIpv4 ()
 
virtual ~PbbAddressBlockIpv4 ()
 
- Public Member Functions inherited from ns3::PbbAddressBlock
 PbbAddressBlock ()
 this is a const tlvblock iterator for PbbAddressBlock More...
 
virtual ~PbbAddressBlock ()
 
Address AddressBack (void) const
 
AddressIterator AddressBegin (void)
 
ConstAddressIterator AddressBegin (void) const
 
void AddressClear (void)
 Removes all addresses from this block. More...
 
bool AddressEmpty (void) const
 
AddressIterator AddressEnd (void)
 
ConstAddressIterator AddressEnd (void) const
 
AddressIterator AddressErase (AddressIterator position)
 Removes the address at the specified position. More...
 
AddressIterator AddressErase (AddressIterator first, AddressIterator last)
 Removes all addresses from [first, last) (includes first, not includes last). More...
 
Address AddressFront (void) const
 
AddressIterator AddressInsert (AddressIterator position, const Address value)
 Inserts an address at the specified position in this block. More...
 
void AddressPopBack (void)
 Removes an address from the back of this block. More...
 
void AddressPopFront (void)
 Removes an address from the front of this block. More...
 
void AddressPushBack (Address address)
 Appends an address to the back of this block. More...
 
void AddressPushFront (Address address)
 Prepends an address to the front of this block. More...
 
int AddressSize (void) const
 
void Deserialize (Buffer::Iterator &start)
 Deserializes an address block from the specified buffer. More...
 
uint32_t GetSerializedSize (void) const
 
bool operator!= (const PbbAddressBlock &other) const
 Inequality operator for PbbAddressBlock. More...
 
bool operator== (const PbbAddressBlock &other) const
 Equality operator for PbbAddressBlock. More...
 
uint8_t PrefixBack (void) const
 
PrefixIterator PrefixBegin (void)
 
ConstPrefixIterator PrefixBegin (void) const
 
void PrefixClear (void)
 Removes all prefixes from this block. More...
 
bool PrefixEmpty (void) const
 
PrefixIterator PrefixEnd (void)
 
ConstPrefixIterator PrefixEnd (void) const
 
PrefixIterator PrefixErase (PrefixIterator position)
 Removes the prefix at the specified position. More...
 
PrefixIterator PrefixErase (PrefixIterator first, PrefixIterator last)
 Removes all prefixes from [first, last) (includes first, not includes last). More...
 
uint8_t PrefixFront (void) const
 
PrefixIterator PrefixInsert (PrefixIterator position, const uint8_t value)
 Inserts a prefix at the specified position in this block. More...
 
void PrefixPopBack (void)
 Removes a prefix from the back of this block. More...
 
void PrefixPopFront (void)
 Removes a prefix from the front of this block. More...
 
void PrefixPushBack (uint8_t prefix)
 Appends a prefix to the back of this block. More...
 
void PrefixPushFront (uint8_t prefix)
 Prepends a prefix to the front of this block. More...
 
int PrefixSize (void) const
 
void Print (std::ostream &os) const
 Pretty-prints the contents of this address block. More...
 
void Print (std::ostream &os, int level) const
 Pretty-prints the contents of this address block, with specified indentation. More...
 
void Serialize (Buffer::Iterator &start) const
 Serializes this address block into the specified buffer. More...
 
Ptr< PbbAddressTlvTlvBack (void)
 
const Ptr< PbbAddressTlvTlvBack (void) const
 
TlvIterator TlvBegin (void)
 
ConstTlvIterator TlvBegin (void) const
 
void TlvClear (void)
 Removes all address TLVs from this block. More...
 
bool TlvEmpty (void) const
 
TlvIterator TlvEnd (void)
 
ConstTlvIterator TlvEnd (void) const
 
TlvIterator TlvErase (TlvIterator position)
 Removes the address TLV at the specified position. More...
 
TlvIterator TlvErase (TlvIterator first, TlvIterator last)
 Removes all address TLVs from [first, last) (includes first, not includes last). More...
 
Ptr< PbbAddressTlvTlvFront (void)
 
const Ptr< PbbAddressTlvTlvFront (void) const
 
TlvIterator TlvInsert (TlvIterator position, const Ptr< PbbTlv > value)
 Inserts an address TLV at the specified position in this block. More...
 
void TlvPopBack (void)
 Removes an address TLV from the back of this message. More...
 
void TlvPopFront (void)
 Removes an address TLV from the front of this message. More...
 
void TlvPushBack (Ptr< PbbAddressTlv > address)
 Appends an address TLV to the back of this message. More...
 
void TlvPushFront (Ptr< PbbAddressTlv > address)
 Prepends an address TLV to the front of this message. More...
 
int TlvSize (void) const
 
- Public Member Functions inherited from ns3::SimpleRefCount< PbbAddressBlock >
 SimpleRefCount ()
 Constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 

Protected Member Functions

virtual Address DeserializeAddress (uint8_t *buffer) const
 
virtual uint8_t GetAddressLength (void) const
 Returns address length. More...
 
virtual void PrintAddress (std::ostream &os, ConstAddressIterator iter) const
 
virtual void SerializeAddress (uint8_t *buffer, ConstAddressIterator iter) const
 

Additional Inherited Members

- Public Types inherited from ns3::PbbAddressBlock
typedef std::list< Address >
::iterator 
AddressIterator
 
typedef std::list< Address >
::const_iterator 
ConstAddressIterator
 this is an address iterator for PbbAddressBlock More...
 
typedef std::list< uint8_t >
::const_iterator 
ConstPrefixIterator
 this is a prefix iterator for PbbAddressBlock More...
 
typedef
PbbAddressTlvBlock::ConstIterator 
ConstTlvIterator
 this is a tlvblock iterator for PbbAddressBlock More...
 
typedef std::list< uint8_t >
::iterator 
PrefixIterator
 this is an const address iterator for PbbAddressBlock More...
 
typedef
PbbAddressTlvBlock::Iterator 
TlvIterator
 this is a const prefix iterator for PbbAddressBlock More...
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< PbbAddressBlock >
static void Cleanup (void)
 Noop. More...
 

Detailed Description

Concrete IPv4 specific PbbAddressBlock.

This address block will only contain IPv4 addresses.

Definition at line 1545 of file packetbb.h.

Constructor & Destructor Documentation

ns3::PbbAddressBlockIpv4::PbbAddressBlockIpv4 ( )

Definition at line 2568 of file packetbb.cc.

References NS_LOG_FUNCTION.

ns3::PbbAddressBlockIpv4::~PbbAddressBlockIpv4 ( )
virtual

Definition at line 2573 of file packetbb.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

Address ns3::PbbAddressBlockIpv4::DeserializeAddress ( uint8_t *  buffer) const
protectedvirtual

Implements ns3::PbbAddressBlock.

Definition at line 2593 of file packetbb.cc.

References ns3::Ipv4Address::Deserialize(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

uint8_t ns3::PbbAddressBlockIpv4::GetAddressLength ( void  ) const
protectedvirtual

Returns address length.

Returns
Address length

Implements ns3::PbbAddressBlock.

Definition at line 2579 of file packetbb.cc.

References NS_LOG_FUNCTION.

void ns3::PbbAddressBlockIpv4::PrintAddress ( std::ostream &  os,
ConstAddressIterator  iter 
) const
protectedvirtual

Implements ns3::PbbAddressBlock.

Definition at line 2600 of file packetbb.cc.

References ns3::Ipv4Address::ConvertFrom(), NS_LOG_FUNCTION, and ns3::Ipv4Address::Print().

+ Here is the call graph for this function:

void ns3::PbbAddressBlockIpv4::SerializeAddress ( uint8_t *  buffer,
ConstAddressIterator  iter 
) const
protectedvirtual

Implements ns3::PbbAddressBlock.

Definition at line 2586 of file packetbb.cc.

References ns3::Ipv4Address::ConvertFrom(), NS_LOG_FUNCTION, and ns3::Ipv4Address::Serialize().

+ Here is the call graph for this function:


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