A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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.
virtual ~DsrOptionRreqHeader ()
 Destructor.
void AddNodeAddress (Ipv4Address ipv4)
 Add one node address.
virtual uint32_t Deserialize (Buffer::Iterator start)
 Deserialize the packet.
virtual Alignment GetAlignment () const
 Get the Alignment requirement of this option header.
uint32_t GetDataLength () const
 Get the data length.
uint16_t GetId () const
 Set the request id number.
virtual TypeId GetInstanceTypeId () const
 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.
virtual uint32_t GetSerializedSize () const
 Get the serialized size of the packet.
Ipv4Address GetTarget ()
 Get the target ipv4 address.
virtual void Print (std::ostream &os) const
 Print some informations about the packet.
virtual void Serialize (Buffer::Iterator start) const
 Serialize the packet.
void SetDataLength (uint32_t dataLength)
 Set the data length.
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.
virtual ~DsrOptionHeader ()
 Destructor.
uint8_t GetLength () const
 Get the option length.
uint8_t GetType () const
 Get the type of the option.
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
virtual ~Header ()

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type identificator.

Private Types

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

Private Attributes

Ipv4Address m_address
uint32_t m_dataLength
 The data length.
uint16_t m_identification
 Identifier of the packet.
VectorIpv4Address_t m_ipv4Address
 The vector of Nodes' IPv4 Address.
Ipv4Address m_target

Additional Inherited Members

- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
virtual void NotifyConstructionCompleted (void)

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

A vector of IPv4 Address.

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

Constructor & Destructor Documentation

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

Constructor.

Definition at line 260 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:

ns3::dsr::DsrOptionRreqHeader::~DsrOptionRreqHeader ( )
virtual

Destructor.

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

Member Function Documentation

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

Add one node address.

Parameters
ipv4The ip address to add

Definition at line 287 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:

uint32_t ns3::dsr::DsrOptionRreqHeader::Deserialize ( Buffer::Iterator  start)
virtual
DsrOptionHeader::Alignment ns3::dsr::DsrOptionRreqHeader::GetAlignment ( ) const
virtual

Get the Alignment requirement of this option header.

Returns
The required alignment

Reimplemented from ns3::dsr::DsrOptionHeader.

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

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

Get the data length.

Returns
the data length
uint16_t ns3::dsr::DsrOptionRreqHeader::GetId ( void  ) const

Set the request id number.

Returns
request id number

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

References m_identification.

Referenced by ns3::dsr::DsrRreqHeaderTest::DoRun().

+ Here is the caller graph for this function:

TypeId ns3::dsr::DsrOptionRreqHeader::GetInstanceTypeId ( void  ) const
virtual

Get the instance type ID.

Returns
instance type ID

Reimplemented from ns3::dsr::DsrOptionHeader.

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

References GetTypeId().

+ Here is the call graph for this function:

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 314 of file dsr-option-header.cc.

References m_ipv4Address.

Referenced by ns3::dsr::DsrRreqHeaderTest::DoRun().

+ Here is the caller graph for this function:

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

Get the vector of ipv4 address.

Returns
the vector of ipv4 address

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

References m_ipv4Address.

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

+ Here is the caller graph for this function:

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

Get the number of nodes.

Returns
the number of nodes

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

References m_ipv4Address.

uint32_t ns3::dsr::DsrOptionRreqHeader::GetSerializedSize ( void  ) const
virtual

Get the serialized size of the packet.

Returns
size

Reimplemented from ns3::dsr::DsrOptionHeader.

Definition at line 341 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:

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

Get the target ipv4 address.

Returns
target the target packet

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

References m_target.

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

+ Here is the caller graph for this function:

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

Get the type identificator.

This method returns the TypeId associated to ns3::dsr::DsrOptionRreqHeader.

Returns
type identificator

No Attributes defined for this type.
No TraceSources defined for this type.

Reimplemented from ns3::dsr::DsrOptionHeader.

Definition at line 246 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:

void ns3::dsr::DsrOptionRreqHeader::Print ( std::ostream &  os) const
virtual

Print some informations about the packet.

Parameters
osoutput stream
Returns
info about this packet

Reimplemented from ns3::dsr::DsrOptionHeader.

Definition at line 329 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:

void ns3::dsr::DsrOptionRreqHeader::Serialize ( Buffer::Iterator  start) const
virtual
void ns3::dsr::DsrOptionRreqHeader::SetDataLength ( uint32_t  dataLength)

Set the data length.

Parameters
dataLengththe data length
void ns3::dsr::DsrOptionRreqHeader::SetId ( uint16_t  identification)

Set the request id number.

Parameters
theidentification number

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

References m_identification.

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

+ Here is the caller graph for this function:

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 309 of file dsr-option-header.cc.

References m_ipv4Address.

Referenced by Deserialize().

+ Here is the caller graph for this function:

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

Set the vector of ipv4 address.

Parameters
ipv4Addressthe vector of ipv4 address

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Set the number of ipv4 address.

Parameters
nthe number of ipv4 address

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

References m_ipv4Address.

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

+ Here is the caller graph for this function:

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

Set the target ipv4 address.

Parameters
targetthe target packet

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

References m_target.

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

+ Here is the caller graph for this function:

Member Data Documentation

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

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

Referenced by Deserialize().

uint32_t ns3::dsr::DsrOptionRreqHeader::m_dataLength
private

The data length.

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

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

Identifier of the packet.

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

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

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

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

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


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