A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::dsr::DsrOptionHeader Class Reference

Header for Dsr Options. More...

#include "dsr-option-header.h"

+ Inheritance diagram for ns3::dsr::DsrOptionHeader:
+ Collaboration diagram for ns3::dsr::DsrOptionHeader:

Classes

struct  Alignment
 represents the alignment requirements of an option header More...
 

Public Member Functions

 DsrOptionHeader ()
 Constructor.
 
 ~DsrOptionHeader () override
 Destructor.
 
uint32_t Deserialize (Buffer::Iterator start) override
 Deserialize the packet.
 
virtual Alignment GetAlignment () const
 Get the Alignment requirement of this option header.
 
TypeId GetInstanceTypeId () const override
 Get the instance type ID.
 
uint8_t GetLength () const
 Get the option length.
 
uint32_t GetSerializedSize () const override
 Get the serialized size of the packet.
 
uint8_t GetType () const
 Get the type of the option.
 
void Print (std::ostream &os) const override
 Print some information about the packet.
 
void Serialize (Buffer::Iterator start) const override
 Serialize the packet.
 
void SetLength (uint8_t length)
 Set the option length.
 
void SetType (uint8_t type)
 Set the type of the option.
 
- Public Member Functions inherited from ns3::Header
 ~Header () override
 
uint32_t Deserialize (Buffer::Iterator start) override=0
 
virtual uint32_t Deserialize (Buffer::Iterator start)=0
 Deserialize the object from a buffer iterator.
 
virtual uint32_t Deserialize (Buffer::Iterator start, Buffer::Iterator end)
 Deserialize the object from a buffer iterator.
 
virtual uint32_t GetSerializedSize () const =0
 
void Print (std::ostream &os) const override=0
 
virtual void Serialize (Buffer::Iterator start) const =0
 
virtual uint32_t Deserialize (Buffer::Iterator start)=0
 Deserialize the object from a buffer iterator.
 
virtual uint32_t Deserialize (Buffer::Iterator start, Buffer::Iterator end)
 Deserialize the object from a buffer iterator.
 
virtual void Print (std::ostream &os) const =0
 Print the object contents.
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor.
 
void GetAttribute (std::string name, AttributeValue &value) const
 Get the value of an attribute, raising fatal errors if unsuccessful.
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising errors.
 
virtual TypeId GetInstanceTypeId () const =0
 Get the most derived TypeId for this Object.
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful.
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors.
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context.
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context.
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context.
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context.
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type identificator.
 
- Static Public Member Functions inherited from ns3::Header
static TypeId GetTypeId ()
 Get the type ID.
 
- Static Public Member Functions inherited from ns3::Chunk
static TypeId GetTypeId ()
 Get the type ID.
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId ()
 Get the type ID.
 

Private Attributes

Buffer m_data
 The anonymous data of this option.
 
uint8_t m_length
 The option length.
 
uint8_t m_type
 The type of the option.
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes.
 
virtual void NotifyConstructionCompleted ()
 Notifier called once the ObjectBase is fully constructed.
 

Detailed Description

Header for Dsr Options.

Definition at line 52 of file dsr-option-header.h.

Constructor & Destructor Documentation

◆ DsrOptionHeader()

ns3::dsr::DsrOptionHeader::DsrOptionHeader ( )

Constructor.

Definition at line 67 of file dsr-option-header.cc.

◆ ~DsrOptionHeader()

ns3::dsr::DsrOptionHeader::~DsrOptionHeader ( )
override

Destructor.

Definition at line 73 of file dsr-option-header.cc.

Member Function Documentation

◆ Deserialize()

uint32_t ns3::dsr::DsrOptionHeader::Deserialize ( Buffer::Iterator  start)
overridevirtual

◆ GetAlignment()

DsrOptionHeader::Alignment ns3::dsr::DsrOptionHeader::GetAlignment ( ) const
virtual

Get the Alignment requirement of this option header.

Returns
The required alignment

Subclasses should only implement this method, if special alignment is required. Default is no alignment (1n+0).

Reimplemented in ns3::dsr::DsrOptionRreqHeader, ns3::dsr::DsrOptionRrepHeader, ns3::dsr::DsrOptionSRHeader, ns3::dsr::DsrOptionRerrHeader, ns3::dsr::DsrOptionRerrUnreachHeader, ns3::dsr::DsrOptionRerrUnsupportedHeader, ns3::dsr::DsrOptionAckReqHeader, and ns3::dsr::DsrOptionAckHeader.

Definition at line 142 of file dsr-option-header.cc.

Referenced by ns3::dsr::DsrOptionField::AddDsrOption().

+ Here is the caller graph for this function:

◆ GetInstanceTypeId()

TypeId ns3::dsr::DsrOptionHeader::GetInstanceTypeId ( ) const
overridevirtual

Get the instance type ID.

Returns
instance type ID

Implements ns3::ObjectBase.

Reimplemented in ns3::dsr::DsrOptionPad1Header, ns3::dsr::DsrOptionPadnHeader, ns3::dsr::DsrOptionRreqHeader, ns3::dsr::DsrOptionRrepHeader, ns3::dsr::DsrOptionSRHeader, ns3::dsr::DsrOptionRerrHeader, ns3::dsr::DsrOptionRerrUnreachHeader, ns3::dsr::DsrOptionRerrUnsupportedHeader, ns3::dsr::DsrOptionAckReqHeader, and ns3::dsr::DsrOptionAckHeader.

Definition at line 62 of file dsr-option-header.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetLength()

uint8_t ns3::dsr::DsrOptionHeader::GetLength ( ) const

Get the option length.

Returns
the option length

Definition at line 96 of file dsr-option-header.cc.

References m_length.

Referenced by ns3::dsr::DsrRouting::AddAckReqHeader(), ns3::dsr::DsrRouting::CheckSendBuffer(), ns3::dsr::DsrOptionRerr::DoSendError(), ns3::dsr::DsrRouting::ForwardErrPacket(), ns3::dsr::DsrRouting::ForwardPacket(), ns3::dsr::DsrOptionPadnHeader::GetSerializedSize(), ns3::dsr::DsrRouting::PacketNewRoute(), ns3::dsr::DsrOptionPadnHeader::Print(), ns3::dsr::DsrOptionRreqHeader::Print(), ns3::dsr::DsrOptionRrepHeader::Print(), ns3::dsr::DsrOptionSRHeader::Print(), ns3::dsr::DsrOptionRerrHeader::Print(), ns3::dsr::DsrOptionRerrUnreachHeader::Print(), ns3::dsr::DsrOptionRerrUnsupportedHeader::Print(), ns3::dsr::DsrOptionAckReqHeader::Print(), ns3::dsr::DsrOptionAckHeader::Print(), ns3::dsr::DsrOptionRreq::Process(), ns3::dsr::DsrOptionRrep::Process(), ns3::dsr::DsrOptionSR::Process(), ns3::dsr::DsrRouting::SalvagePacket(), ns3::dsr::DsrRouting::Send(), ns3::dsr::DsrRouting::SendAck(), ns3::dsr::DsrRouting::SendErrorRequest(), ns3::dsr::DsrRouting::SendGratuitousReply(), ns3::dsr::DsrRouting::SendInitialRequest(), ns3::dsr::DsrRouting::SendPacketFromBuffer(), ns3::dsr::DsrRouting::SendUnreachError(), ns3::dsr::DsrOptionPadnHeader::Serialize(), ns3::dsr::DsrOptionRreqHeader::Serialize(), ns3::dsr::DsrOptionRrepHeader::Serialize(), ns3::dsr::DsrOptionSRHeader::Serialize(), ns3::dsr::DsrOptionRerrHeader::Serialize(), ns3::dsr::DsrOptionRerrUnreachHeader::Serialize(), ns3::dsr::DsrOptionRerrUnsupportedHeader::Serialize(), ns3::dsr::DsrOptionAckReqHeader::Serialize(), and ns3::dsr::DsrOptionAckHeader::Serialize().

+ Here is the caller graph for this function:

◆ GetSerializedSize()

uint32_t ns3::dsr::DsrOptionHeader::GetSerializedSize ( ) const
overridevirtual

Get the serialized size of the packet.

Returns
size

Implements ns3::Header.

Reimplemented in ns3::dsr::DsrOptionPad1Header, ns3::dsr::DsrOptionPadnHeader, ns3::dsr::DsrOptionRreqHeader, ns3::dsr::DsrOptionRrepHeader, ns3::dsr::DsrOptionSRHeader, ns3::dsr::DsrOptionRerrHeader, ns3::dsr::DsrOptionRerrUnreachHeader, ns3::dsr::DsrOptionRerrUnsupportedHeader, ns3::dsr::DsrOptionAckReqHeader, and ns3::dsr::DsrOptionAckHeader.

Definition at line 108 of file dsr-option-header.cc.

References m_length.

Referenced by ns3::dsr::DsrOptionField::AddDsrOption(), and Deserialize().

+ Here is the caller graph for this function:

◆ GetType()

◆ GetTypeId()

TypeId ns3::dsr::DsrOptionHeader::GetTypeId ( )
static

Get the type identificator.

Returns
type identificator

Definition at line 52 of file dsr-option-header.cc.

References ns3::TypeId::AddConstructor().

Referenced by GetInstanceTypeId().

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

◆ Print()

void ns3::dsr::DsrOptionHeader::Print ( std::ostream &  os) const
overridevirtual

◆ Serialize()

void ns3::dsr::DsrOptionHeader::Serialize ( Buffer::Iterator  start) const
overridevirtual

Serialize the packet.

Parameters
startBuffer iterator

Implements ns3::Header.

Reimplemented in ns3::dsr::DsrOptionPad1Header, ns3::dsr::DsrOptionPadnHeader, ns3::dsr::DsrOptionRreqHeader, ns3::dsr::DsrOptionRrepHeader, ns3::dsr::DsrOptionSRHeader, ns3::dsr::DsrOptionRerrHeader, ns3::dsr::DsrOptionRerrUnreachHeader, ns3::dsr::DsrOptionRerrUnsupportedHeader, ns3::dsr::DsrOptionAckReqHeader, and ns3::dsr::DsrOptionAckHeader.

Definition at line 114 of file dsr-option-header.cc.

References ns3::Buffer::Begin(), ns3::Buffer::End(), m_data, m_length, m_type, ns3::Buffer::Iterator::Write(), and ns3::Buffer::Iterator::WriteU8().

Referenced by ns3::dsr::DsrOptionField::AddDsrOption().

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

◆ SetLength()

void ns3::dsr::DsrOptionHeader::SetLength ( uint8_t  length)

◆ SetType()

Member Data Documentation

◆ m_data

Buffer ns3::dsr::DsrOptionHeader::m_data
private

The anonymous data of this option.

Definition at line 145 of file dsr-option-header.h.

Referenced by Deserialize(), and Serialize().

◆ m_length

uint8_t ns3::dsr::DsrOptionHeader::m_length
private

The option length.

Definition at line 141 of file dsr-option-header.h.

Referenced by Deserialize(), GetLength(), GetSerializedSize(), Print(), Serialize(), and SetLength().

◆ m_type

uint8_t ns3::dsr::DsrOptionHeader::m_type
private

The type of the option.

Definition at line 137 of file dsr-option-header.h.

Referenced by Deserialize(), GetType(), Print(), Serialize(), and SetType().


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