A Discrete-Event Network Simulator
API
ns3::PbbAddressTlv Class Reference

An Address TLV. More...

#include "packetbb.h"

+ Inheritance diagram for ns3::PbbAddressTlv:
+ Collaboration diagram for ns3::PbbAddressTlv:

Public Member Functions

uint8_t GetIndexStart (void) const
 
uint8_t GetIndexStop (void) const
 
bool HasIndexStart (void) const
 Tests whether or not this address TLV has a start index. More...
 
bool HasIndexStop (void) const
 Tests whether or not this address TLV has a stop index. More...
 
bool IsMultivalue (void) const
 Tests whether or not this address TLV is "multivalue". More...
 
void SetIndexStart (uint8_t index)
 Sets the index of the first address in the associated address block that this address TLV applies to. More...
 
void SetIndexStop (uint8_t index)
 Sets the index of the last address in the associated address block that this address TLV applies to. More...
 
void SetMultivalue (bool isMultivalue)
 Sets whether or not this address TLV is "multivalue". More...
 
- Public Member Functions inherited from ns3::PbbTlv
 PbbTlv (void)
 
virtual ~PbbTlv (void)
 
void Deserialize (Buffer::Iterator &start)
 Deserializes a TLV from the specified buffer. More...
 
uint32_t GetSerializedSize (void) const
 
uint8_t GetType (void) const
 
uint8_t GetTypeExt (void) const
 
Buffer GetValue (void) const
 
bool HasTypeExt (void) const
 Tests whether or not this TLV has a type extension. More...
 
bool HasValue (void) const
 Tests whether or not this TLV has a value. More...
 
bool operator!= (const PbbTlv &other) const
 Inequality operator for PbbTlv. More...
 
bool operator== (const PbbTlv &other) const
 Equality operator for PbbTlv. More...
 
void Print (std::ostream &os) const
 Pretty-prints the contents of this TLV. More...
 
void Print (std::ostream &os, int level) const
 Pretty-prints the contents of this TLV, with specified indentation. More...
 
void Serialize (Buffer::Iterator &start) const
 Serializes this TLV into the specified buffer. More...
 
void SetType (uint8_t type)
 Sets the type of this TLV. More...
 
void SetTypeExt (uint8_t type)
 Sets the type extension of this TLV. More...
 
void SetValue (Buffer start)
 Sets the value of this message to the specified buffer. More...
 
void SetValue (const uint8_t *buffer, uint32_t size)
 Sets the value of this message to a buffer with the specified data. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< PbbTlv >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o[[maybe_unused]])
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= ([[maybe_unused]] const SimpleRefCount &o)
 Assignment operator. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::PbbTlv
uint8_t GetIndexStart (void) const
 Get the starting point index. More...
 
uint8_t GetIndexStop (void) const
 Get the stop point index. More...
 
bool HasIndexStart (void) const
 Checks if there is a starting index. More...
 
bool HasIndexStop (void) const
 Checks if there is a stop index. More...
 
bool IsMultivalue (void) const
 Check the multivalue parameter. More...
 
void SetIndexStart (uint8_t index)
 Set an index as starting point. More...
 
void SetIndexStop (uint8_t index)
 Set an index as stop point. More...
 
void SetMultivalue (bool isMultivalue)
 Set the multivalue parameter. More...
 

Detailed Description

An Address TLV.

Definition at line 1855 of file packetbb.h.

Member Function Documentation

◆ GetIndexStart()

uint8_t ns3::PbbAddressTlv::GetIndexStart ( void  ) const
Returns
the first (inclusive) index of the address in the corresponding address block that this TLV applies to.

Calling this while HasIndexStart is False is undefined. Make sure you check it first. This will be checked by an assert in debug builds.

Definition at line 3039 of file packetbb.cc.

References ns3::PbbTlv::GetIndexStart(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ GetIndexStop()

uint8_t ns3::PbbAddressTlv::GetIndexStop ( void  ) const
Returns
the last (inclusive) index of the address in the corresponding PbbAddressBlock that this TLV applies to.

Calling this while HasIndexStop is False is undefined. Make sure you check it first. This will be checked by an assert in debug builds.

Definition at line 3060 of file packetbb.cc.

References ns3::PbbTlv::GetIndexStop(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ HasIndexStart()

bool ns3::PbbAddressTlv::HasIndexStart ( void  ) const

Tests whether or not this address TLV has a start index.

Returns
true if this address TLV has a start index, false otherwise.

This should be called before calling GetIndexStart to make sure there actually is one.

Definition at line 3046 of file packetbb.cc.

References ns3::PbbTlv::HasIndexStart(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ HasIndexStop()

bool ns3::PbbAddressTlv::HasIndexStop ( void  ) const

Tests whether or not this address TLV has a stop index.

Returns
true if this address TLV has a stop index, false otherwise.

This should be called before calling GetIndexStop to make sure there actually is one.

Definition at line 3067 of file packetbb.cc.

References ns3::PbbTlv::HasIndexStop(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ IsMultivalue()

bool ns3::PbbAddressTlv::IsMultivalue ( void  ) const

Tests whether or not this address TLV is "multivalue".

Returns
whether this address TLV is multivalue or not.

Definition at line 3081 of file packetbb.cc.

References ns3::PbbTlv::IsMultivalue(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ SetIndexStart()

void ns3::PbbAddressTlv::SetIndexStart ( uint8_t  index)

Sets the index of the first address in the associated address block that this address TLV applies to.

Parameters
indexthe index of the first address.

Definition at line 3032 of file packetbb.cc.

References NS_LOG_FUNCTION, and ns3::PbbTlv::SetIndexStart().

+ Here is the call graph for this function:

◆ SetIndexStop()

void ns3::PbbAddressTlv::SetIndexStop ( uint8_t  index)

Sets the index of the last address in the associated address block that this address TLV applies to.

Parameters
indexthe index of the last address.

Definition at line 3053 of file packetbb.cc.

References NS_LOG_FUNCTION, and ns3::PbbTlv::SetIndexStop().

+ Here is the call graph for this function:

◆ SetMultivalue()

void ns3::PbbAddressTlv::SetMultivalue ( bool  isMultivalue)

Sets whether or not this address TLV is "multivalue".

Parameters
isMultivaluewhether or not this address TLV should be multivalue.

If true, this means the value associated with this TLV should be divided evenly into (GetIndexStop() - GetIndexStart() + 1) values. Otherwise, the value is one single value that applies to each address in the range.

Definition at line 3074 of file packetbb.cc.

References NS_LOG_FUNCTION, and ns3::PbbTlv::SetMultivalue().

+ Here is the call graph for this function:

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