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

Concrete IPv6 specific PbbMessage class. More...

#include <packetbb.h>

+ Inheritance diagram for ns3::PbbMessageIpv6:
+ Collaboration diagram for ns3::PbbMessageIpv6:

Public Member Functions

 PbbMessageIpv6 ()
virtual ~PbbMessageIpv6 ()
- Public Member Functions inherited from ns3::PbbMessage
 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

Protected Member Functions

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

Additional Inherited Members

- Public Types inherited from ns3::PbbMessage
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
- Static Public Member Functions inherited from ns3::PbbMessage
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.

Detailed Description

Concrete IPv6 specific PbbMessage class.

This message will only contain IPv6 addresses.

Definition at line 1068 of file packetbb.h.

Constructor & Destructor Documentation

ns3::PbbMessageIpv6::PbbMessageIpv6 ( )

Definition at line 1625 of file packetbb.cc.

ns3::PbbMessageIpv6::~PbbMessageIpv6 ( )
virtual

Definition at line 1629 of file packetbb.cc.

Member Function Documentation

Ptr< PbbAddressBlock > ns3::PbbMessageIpv6::AddressBlockDeserialize ( Buffer::Iterator start) const
protectedvirtual

Implements ns3::PbbMessage.

Definition at line 1665 of file packetbb.cc.

References ns3::PbbAddressBlock::Deserialize().

+ Here is the call graph for this function:

Address ns3::PbbMessageIpv6::DeserializeOriginatorAddress ( Buffer::Iterator start) const
protectedvirtual

Implements ns3::PbbMessage.

Definition at line 1649 of file packetbb.cc.

References ns3::PbbMessage::Deserialize(), GetAddressLength(), and ns3::Buffer::Iterator::Read().

+ Here is the call graph for this function:

PbbAddressLength ns3::PbbMessageIpv6::GetAddressLength ( void  ) const
protectedvirtual

Implements ns3::PbbMessage.

Definition at line 1634 of file packetbb.cc.

References ns3::IPV6.

Referenced by DeserializeOriginatorAddress(), and SerializeOriginatorAddress().

+ Here is the caller graph for this function:

void ns3::PbbMessageIpv6::PrintOriginatorAddress ( std::ostream &  os) const
protectedvirtual

Implements ns3::PbbMessage.

Definition at line 1659 of file packetbb.cc.

References ns3::Ipv6Address::ConvertFrom(), ns3::PbbMessage::GetOriginatorAddress(), and ns3::Ipv6Address::Print().

+ Here is the call graph for this function:

void ns3::PbbMessageIpv6::SerializeOriginatorAddress ( Buffer::Iterator start) const
protectedvirtual

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