A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::VectorTlvValue Class Referenceabstract

this class is used to implement a vector of values in one tlv value field More...

#include "wimax-tlv.h"

+ Inheritance diagram for ns3::VectorTlvValue:
+ Collaboration diagram for ns3::VectorTlvValue:

Public Types

typedef std::vector< Tlv * >::const_iterator Iterator
 TLV vector iterator typedef.
 

Public Member Functions

 VectorTlvValue ()
 
 ~VectorTlvValue () override
 
void Add (const Tlv &val)
 Add a TLV.
 
Iterator Begin () const
 Begin iterator.
 
VectorTlvValueCopy () const override=0
 Copy.
 
uint32_t Deserialize (Buffer::Iterator start, uint64_t valueLength) override=0
 Deserialize from a buffer.
 
Iterator End () const
 End iterator.
 
uint32_t GetSerializedSize () const override
 Get serialized size in bytes.
 
void Serialize (Buffer::Iterator start) const override
 Serialize to a buffer.
 
- Public Member Functions inherited from ns3::TlvValue
virtual ~TlvValue ()
 
virtual TlvValueCopy () const =0
 Copy function.
 
virtual uint32_t Deserialize (Buffer::Iterator start, uint64_t valueLen)=0
 Deserialize from a buffer.
 
virtual uint32_t GetSerializedSize () const =0
 Get serialized size in bytes.
 
virtual void Serialize (Buffer::Iterator start) const =0
 Serialize to a buffer.
 

Private Attributes

std::vector< Tlv * > * m_tlvList
 tlv list
 

Detailed Description

this class is used to implement a vector of values in one tlv value field

Definition at line 296 of file wimax-tlv.h.

Member Typedef Documentation

◆ Iterator

typedef std::vector<Tlv*>::const_iterator ns3::VectorTlvValue::Iterator

TLV vector iterator typedef.

Definition at line 300 of file wimax-tlv.h.

Constructor & Destructor Documentation

◆ VectorTlvValue()

ns3::VectorTlvValue::VectorTlvValue ( )

Definition at line 235 of file wimax-tlv.cc.

References m_tlvList.

◆ ~VectorTlvValue()

ns3::VectorTlvValue::~VectorTlvValue ( )
override

Definition at line 240 of file wimax-tlv.cc.

References m_tlvList.

Member Function Documentation

◆ Add()

void ns3::VectorTlvValue::Add ( const Tlv val)

Add a TLV.

Parameters
valthe TLV value

Definition at line 284 of file wimax-tlv.cc.

References ns3::Tlv::Copy(), and m_tlvList.

Referenced by ns3::SfVectorTlvValue::Deserialize(), ns3::CsParamVectorTlvValue::Deserialize(), ns3::ClassificationRuleVectorTlvValue::Deserialize(), Ns3WimaxCsParamTlvTestCase::DoRun(), ns3::CsParameters::ToTlv(), ns3::IpcsClassifierRecord::ToTlv(), and ns3::ServiceFlow::ToTlv().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Begin()

VectorTlvValue::Iterator ns3::VectorTlvValue::Begin ( ) const

Begin iterator.

Returns
the beginning element

Definition at line 272 of file wimax-tlv.cc.

References m_tlvList.

Referenced by ns3::CsParameters::CsParameters(), ns3::IpcsClassifierRecord::IpcsClassifierRecord(), ns3::ServiceFlow::ServiceFlow(), ns3::SfVectorTlvValue::Copy(), ns3::CsParamVectorTlvValue::Copy(), and ns3::ClassificationRuleVectorTlvValue::Copy().

+ Here is the caller graph for this function:

◆ Copy()

VectorTlvValue * ns3::VectorTlvValue::Copy ( ) const
overridepure virtual

Copy.

Returns
the vector TLV value

Implements ns3::TlvValue.

Implemented in ns3::SfVectorTlvValue, ns3::CsParamVectorTlvValue, and ns3::ClassificationRuleVectorTlvValue.

◆ Deserialize()

uint32_t ns3::VectorTlvValue::Deserialize ( Buffer::Iterator  start,
uint64_t  valueLen 
)
overridepure virtual

Deserialize from a buffer.

Parameters
startthe iterator
valueLenthe maximum length of the value
Returns
the

Implements ns3::TlvValue.

Implemented in ns3::SfVectorTlvValue, ns3::CsParamVectorTlvValue, and ns3::ClassificationRuleVectorTlvValue.

◆ End()

VectorTlvValue::Iterator ns3::VectorTlvValue::End ( ) const

End iterator.

Returns
the ending element

Definition at line 278 of file wimax-tlv.cc.

References m_tlvList.

Referenced by ns3::CsParameters::CsParameters(), ns3::IpcsClassifierRecord::IpcsClassifierRecord(), ns3::ServiceFlow::ServiceFlow(), ns3::SfVectorTlvValue::Copy(), ns3::CsParamVectorTlvValue::Copy(), and ns3::ClassificationRuleVectorTlvValue::Copy().

+ Here is the caller graph for this function:

◆ GetSerializedSize()

uint32_t ns3::VectorTlvValue::GetSerializedSize ( ) const
overridevirtual

Get serialized size in bytes.

Returns
the serialized size

Implements ns3::TlvValue.

Definition at line 251 of file wimax-tlv.cc.

References m_tlvList.

Referenced by ns3::CsParamVectorTlvValue::Deserialize(), Ns3WimaxCsParamTlvTestCase::DoRun(), ns3::CsParameters::ToTlv(), ns3::IpcsClassifierRecord::ToTlv(), and ns3::ServiceFlow::ToTlv().

+ Here is the caller graph for this function:

◆ Serialize()

void ns3::VectorTlvValue::Serialize ( Buffer::Iterator  start) const
overridevirtual

Serialize to a buffer.

Parameters
startthe iterator

Implements ns3::TlvValue.

Definition at line 262 of file wimax-tlv.cc.

References m_tlvList, and ns3::Buffer::Iterator::Next().

+ Here is the call graph for this function:

Member Data Documentation

◆ m_tlvList

std::vector<Tlv*>* ns3::VectorTlvValue::m_tlvList
private

tlv list

Definition at line 328 of file wimax-tlv.h.

Referenced by VectorTlvValue(), ~VectorTlvValue(), Add(), Begin(), End(), GetSerializedSize(), and Serialize().


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