Concrete IPv4 specific PbbAddressBlock. More...
#include "packetbb.h"
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< PbbAddressTlv > | TlvBack (void) |
const Ptr< PbbAddressTlv > | TlvBack (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< PbbAddressTlv > | TlvFront (void) |
const Ptr< PbbAddressTlv > | TlvFront (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... | |
SimpleRefCount & | operator= (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... | |
Concrete IPv4 specific PbbAddressBlock.
This address block will only contain IPv4 addresses.
Definition at line 1617 of file packetbb.h.
ns3::PbbAddressBlockIpv4::PbbAddressBlockIpv4 | ( | ) |
Definition at line 2568 of file packetbb.cc.
References NS_LOG_FUNCTION.
|
virtual |
Definition at line 2573 of file packetbb.cc.
References NS_LOG_FUNCTION.
|
protectedvirtual |
Deserialize one address.
buffer | the buffer to deserialize from |
Implements ns3::PbbAddressBlock.
Definition at line 2593 of file packetbb.cc.
References ns3::Ipv4Address::Deserialize(), and NS_LOG_FUNCTION.
|
protectedvirtual |
Returns address length.
Implements ns3::PbbAddressBlock.
Definition at line 2579 of file packetbb.cc.
References NS_LOG_FUNCTION.
|
protectedvirtual |
Print one or more addresses.
os | the output stream |
iter | the 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().
|
protectedvirtual |
Serialize one or more addresses.
buffer | the buffer to serialize to |
iter | the 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().