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

Route Request (RREQ) Message Format. More...

#include "dsr-option-header.h"

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

Public Member Functions

 DsrOptionRreqHeader ()
 Constructor.
 
 ~DsrOptionRreqHeader () override
 Destructor.
 
void AddNodeAddress (Ipv4Address ipv4)
 Add one node address.
 
uint32_t Deserialize (Buffer::Iterator start) override
 Deserialize the packet.
 
Alignment GetAlignment () const override
 Get the Alignment requirement of this option header.
 
uint16_t GetId () const
 Set the request id number.
 
TypeId GetInstanceTypeId () const override
 Get the instance type ID.
 
Ipv4Address GetNodeAddress (uint8_t index) const
 Get a Node IPv4 Address.
 
std::vector< Ipv4AddressGetNodesAddresses () const
 Get the vector of ipv4 address.
 
uint32_t GetNodesNumber () const
 Get the number of nodes.
 
uint32_t GetSerializedSize () const override
 Get the serialized size of the packet.
 
Ipv4Address GetTarget ()
 Get the target ipv4 address.
 
void Print (std::ostream &os) const override
 Print some information about the packet.
 
void Serialize (Buffer::Iterator start) const override
 Serialize the packet.
 
void SetId (uint16_t identification)
 Set the request id number.
 
void SetNodeAddress (uint8_t index, Ipv4Address addr)
 Set a Node IPv4 Address.
 
void SetNodesAddress (std::vector< Ipv4Address > ipv4Address)
 Set the vector of ipv4 address.
 
void SetNumberAddress (uint8_t n)
 Set the number of ipv4 address.
 
void SetTarget (Ipv4Address target)
 Set the target ipv4 address.
 
- Public Member Functions inherited from ns3::dsr::DsrOptionHeader
 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::dsr::DsrOptionHeader
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 Types

typedef std::vector< Ipv4AddressVectorIpv4Address_t
 A vector of IPv4 Address.
 

Private Attributes

Ipv4Address m_address
 Ipv4 address to write when deserializing the packet.
 
uint16_t m_identification
 Identifier of the packet.
 
VectorIpv4Address_t m_ipv4Address
 The vector of Nodes' IPv4 Address.
 
Ipv4Address m_target
 Ipv4 address of target node.
 

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

Route Request (RREQ) Message Format.

 |      0        |      1        |      2        |      3        |
 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |  Option Type |  Opt Data Len |         Identification         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                         Target Address                        |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                            Address[1]                         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                            Address[2]                         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                               ...                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                            Address[n]                         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

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

Member Typedef Documentation

◆ VectorIpv4Address_t

A vector of IPv4 Address.

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

Constructor & Destructor Documentation

◆ DsrOptionRreqHeader()

ns3::dsr::DsrOptionRreqHeader::DsrOptionRreqHeader ( )

Constructor.

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

References m_ipv4Address, ns3::dsr::DsrOptionHeader::SetLength(), and ns3::dsr::DsrOptionHeader::SetType().

+ Here is the call graph for this function:

◆ ~DsrOptionRreqHeader()

ns3::dsr::DsrOptionRreqHeader::~DsrOptionRreqHeader ( )
override

Destructor.

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

Member Function Documentation

◆ AddNodeAddress()

void ns3::dsr::DsrOptionRreqHeader::AddNodeAddress ( Ipv4Address  ipv4)

Add one node address.

Parameters
ipv4The ip address to add

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

References m_ipv4Address, and ns3::dsr::DsrOptionHeader::SetLength().

Referenced by ns3::dsr::DsrRouting::SendErrorRequest(), and ns3::dsr::DsrRouting::SendInitialRequest().

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

◆ Deserialize()

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

Deserialize the packet.

Parameters
startBuffer iterator
Returns
size of the packet

Reimplemented from ns3::dsr::DsrOptionHeader.

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

References ns3::Ipv4Address::Deserialize(), GetSerializedSize(), m_address, m_identification, m_ipv4Address, m_target, ns3::Buffer::Iterator::Read(), ns3::ReadFrom(), ns3::Buffer::Iterator::ReadNtohU16(), ns3::Buffer::Iterator::ReadU8(), ns3::dsr::DsrOptionHeader::SetLength(), SetNodeAddress(), and ns3::dsr::DsrOptionHeader::SetType().

+ Here is the call graph for this function:

◆ GetAlignment()

DsrOptionHeader::Alignment ns3::dsr::DsrOptionRreqHeader::GetAlignment ( ) const
overridevirtual

Get the Alignment requirement of this option header.

Returns
The required alignment

Reimplemented from ns3::dsr::DsrOptionHeader.

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

◆ GetId()

uint16_t ns3::dsr::DsrOptionRreqHeader::GetId ( ) const

Set the request id number.

Returns
request id number

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

References m_identification.

Referenced by DsrRreqHeaderTest::DoRun(), and ns3::dsr::DsrOptionRreq::Process().

+ Here is the caller graph for this function:

◆ GetInstanceTypeId()

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

Get the instance type ID.

Returns
instance type ID

Reimplemented from ns3::dsr::DsrOptionHeader.

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

References GetTypeId().

+ Here is the call graph for this function:

◆ GetNodeAddress()

Ipv4Address ns3::dsr::DsrOptionRreqHeader::GetNodeAddress ( uint8_t  index) const

Get a Node IPv4 Address.

Parameters
indexthe index of the IPv4 Address
Returns
the router IPv4 Address

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

References m_ipv4Address.

Referenced by DsrRreqHeaderTest::DoRun().

+ Here is the caller graph for this function:

◆ GetNodesAddresses()

std::vector< Ipv4Address > ns3::dsr::DsrOptionRreqHeader::GetNodesAddresses ( ) const

Get the vector of ipv4 address.

Returns
the vector of ipv4 address

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

References m_ipv4Address.

Referenced by ns3::dsr::DsrOptionRreq::Process().

+ Here is the caller graph for this function:

◆ GetNodesNumber()

uint32_t ns3::dsr::DsrOptionRreqHeader::GetNodesNumber ( ) const

Get the number of nodes.

Returns
the number of nodes

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

References m_ipv4Address.

◆ GetSerializedSize()

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

Get the serialized size of the packet.

Returns
size

Reimplemented from ns3::dsr::DsrOptionHeader.

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

References m_ipv4Address.

Referenced by Deserialize(), and ns3::dsr::DsrOptionRreq::Process().

+ Here is the caller graph for this function:

◆ GetTarget()

Ipv4Address ns3::dsr::DsrOptionRreqHeader::GetTarget ( )

Get the target ipv4 address.

Returns
target the target packet

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

References m_target.

Referenced by DsrRreqHeaderTest::DoRun(), and ns3::dsr::DsrOptionRreq::Process().

+ Here is the caller graph for this function:

◆ GetTypeId()

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

Get the type identificator.

Returns
type identificator

Definition at line 274 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::DsrOptionRreqHeader::Print ( std::ostream &  os) const
overridevirtual

Print some information about the packet.

Parameters
osoutput stream

Reimplemented from ns3::dsr::DsrOptionHeader.

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

References ns3::dsr::DsrOptionHeader::GetLength(), ns3::dsr::DsrOptionHeader::GetType(), and m_ipv4Address.

+ Here is the call graph for this function:

◆ Serialize()

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

Serialize the packet.

Parameters
startBuffer iterator

Reimplemented from ns3::dsr::DsrOptionHeader.

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

References ns3::dsr::DsrOptionHeader::GetLength(), ns3::dsr::DsrOptionHeader::GetType(), m_identification, m_ipv4Address, m_target, ns3::Buffer::Iterator::Write(), ns3::Buffer::Iterator::WriteHtonU16(), ns3::WriteTo(), and ns3::Buffer::Iterator::WriteU8().

+ Here is the call graph for this function:

◆ SetId()

void ns3::dsr::DsrOptionRreqHeader::SetId ( uint16_t  identification)

Set the request id number.

Parameters
identificationthe identification number

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

References m_identification.

Referenced by DsrRreqHeaderTest::DoRun(), ns3::dsr::DsrRouting::SendErrorRequest(), and ns3::dsr::DsrRouting::SendInitialRequest().

+ Here is the caller graph for this function:

◆ SetNodeAddress()

void ns3::dsr::DsrOptionRreqHeader::SetNodeAddress ( uint8_t  index,
Ipv4Address  addr 
)

Set a Node IPv4 Address.

Parameters
indexthe index of the IPv4 Address
addrthe new IPv4 Address

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

References m_ipv4Address.

Referenced by Deserialize().

+ Here is the caller graph for this function:

◆ SetNodesAddress()

void ns3::dsr::DsrOptionRreqHeader::SetNodesAddress ( std::vector< Ipv4Address ipv4Address)

Set the vector of ipv4 address.

Parameters
ipv4Addressthe vector of ipv4 address

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

References m_ipv4Address, and ns3::dsr::DsrOptionHeader::SetLength().

Referenced by DsrRreqHeaderTest::DoRun(), and ns3::dsr::DsrOptionRreq::Process().

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

◆ SetNumberAddress()

void ns3::dsr::DsrOptionRreqHeader::SetNumberAddress ( uint8_t  n)

Set the number of ipv4 address.

Parameters
nthe number of ipv4 address

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

References m_ipv4Address.

Referenced by DsrRreqHeaderTest::DoRun(), and ns3::dsr::DsrOptionRreq::Process().

+ Here is the caller graph for this function:

◆ SetTarget()

void ns3::dsr::DsrOptionRreqHeader::SetTarget ( Ipv4Address  target)

Set the target ipv4 address.

Parameters
targetthe target packet

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

References m_target.

Referenced by DsrRreqHeaderTest::DoRun(), ns3::dsr::DsrRouting::SendErrorRequest(), and ns3::dsr::DsrRouting::SendInitialRequest().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_address

Ipv4Address ns3::dsr::DsrOptionRreqHeader::m_address
private

Ipv4 address to write when deserializing the packet.

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

Referenced by Deserialize().

◆ m_identification

uint16_t ns3::dsr::DsrOptionRreqHeader::m_identification
private

Identifier of the packet.

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

Referenced by Deserialize(), GetId(), Serialize(), and SetId().

◆ m_ipv4Address

◆ m_target

Ipv4Address ns3::dsr::DsrOptionRreqHeader::m_target
private

Ipv4 address of target node.

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

Referenced by Deserialize(), GetTarget(), Serialize(), and SetTarget().


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