A Discrete-Event Network Simulator
API
Public Member Functions | Protected Member Functions | List of all members
ns3::PbbAddressBlockIpv4 Class Reference

Concrete IPv4 specific PbbAddressBlock. More...

#include "packetbb.h"

+ Inheritance diagram for ns3::PbbAddressBlockIpv4:

Public Member Functions

 PbbAddressBlockIpv4 ()
 
virtual ~PbbAddressBlockIpv4 ()
 
- Public Member Functions inherited from ns3::PbbAddressBlock
 PbbAddressBlock ()
 
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 ()
 Default 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 operator. 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
 Deserialize one address. More...
 
virtual uint8_t GetAddressLength (void) const
 Returns address length. More...
 
virtual void PrintAddress (std::ostream &os, ConstAddressIterator iter) const
 Print one or more addresses. More...
 
virtual void SerializeAddress (uint8_t *buffer, ConstAddressIterator iter) const
 Serialize one or more addresses. More...
 

Additional Inherited Members

- Public Types inherited from ns3::PbbAddressBlock
typedef std::list< Address >::iterator AddressIterator
 Address iterator. More...
 
typedef std::list< Address >::const_iterator ConstAddressIterator
 Address const iterator. More...
 
typedef std::list< uint8_t >::const_iterator ConstPrefixIterator
 Prefix const iterator. More...
 
typedef PbbAddressTlvBlock::ConstIterator ConstTlvIterator
 tlvblock const iterator More...
 
typedef std::list< uint8_t >::iterator PrefixIterator
 Prefix iterator. More...
 
typedef PbbAddressTlvBlock::Iterator TlvIterator
 tlvblock iterator More...
 

Detailed Description

Concrete IPv4 specific PbbAddressBlock.

This address block will only contain IPv4 addresses.

Definition at line 1617 of file packetbb.h.

Constructor & Destructor Documentation

◆ PbbAddressBlockIpv4()

ns3::PbbAddressBlockIpv4::PbbAddressBlockIpv4 ( )

Definition at line 2568 of file packetbb.cc.

References NS_LOG_FUNCTION.

◆ ~PbbAddressBlockIpv4()

ns3::PbbAddressBlockIpv4::~PbbAddressBlockIpv4 ( )
virtual

Definition at line 2573 of file packetbb.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

◆ DeserializeAddress()

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

Deserialize one address.

Parameters
bufferthe buffer to deserialize from
Returns
the address

Implements ns3::PbbAddressBlock.

Definition at line 2593 of file packetbb.cc.

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

◆ GetAddressLength()

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.

◆ PrintAddress()

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

Print one or more addresses.

Parameters
osthe output stream
iterthe iterator to the addresses

Implements ns3::PbbAddressBlock.

Definition at line 2600 of file packetbb.cc.

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

◆ SerializeAddress()

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

Serialize one or more addresses.

Parameters
bufferthe buffer to serialize to
iterthe iterator to the addresses

Implements ns3::PbbAddressBlock.

Definition at line 2586 of file packetbb.cc.

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


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