A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::dsr::DsrOptionRreqHeader Class Reference

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

#include <dsr-option-header.h>

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

Public Member Functions

 DsrOptionRreqHeader ()
 Constructor.
 
virtual ~DsrOptionRreqHeader ()
 Destructor.
 
void AddNodeAddress (Ipv4Address ipv4)
 Add one node address. More...
 
virtual uint32_t Deserialize (Buffer::Iterator start)
 Deserialize the packet. More...
 
virtual Alignment GetAlignment () const
 Get the Alignment requirement of this option header. More...
 
uint32_t GetDataLength () const
 Get the data length. More...
 
uint16_t GetId () const
 Set the request id number. More...
 
virtual TypeId GetInstanceTypeId () const
 Get the instance type ID. More...
 
Ipv4Address GetNodeAddress (uint8_t index) const
 Get a Node IPv4 Address. More...
 
std::vector< Ipv4AddressGetNodesAddresses () const
 Get the vector of ipv4 address. More...
 
uint32_t GetNodesNumber () const
 Get the number of nodes. More...
 
virtual uint32_t GetSerializedSize () const
 Get the serialized size of the packet. More...
 
Ipv4Address GetTarget ()
 Get the target ipv4 address. More...
 
virtual void Print (std::ostream &os) const
 Print some informations about the packet. More...
 
virtual void Serialize (Buffer::Iterator start) const
 Serialize the packet. More...
 
void SetDataLength (uint32_t dataLength)
 Set the data length. More...
 
void SetId (uint16_t identification)
 Set the request id number. More...
 
void SetNodeAddress (uint8_t index, Ipv4Address addr)
 Set a Node IPv4 Address. More...
 
void SetNodesAddress (std::vector< Ipv4Address > ipv4Address)
 Set the vector of ipv4 address. More...
 
void SetNumberAddress (uint8_t n)
 Set the number of ipv4 address. More...
 
void SetTarget (Ipv4Address target)
 Set the target ipv4 address. More...
 
- Public Member Functions inherited from ns3::dsr::DsrOptionHeader
 DsrOptionHeader ()
 Constructor.
 
virtual ~DsrOptionHeader ()
 Destructor.
 
uint8_t GetLength () const
 Get the option length. More...
 
uint8_t GetType () const
 Get the type of the option. More...
 
void SetLength (uint8_t length)
 Set the option length. More...
 
void SetType (uint8_t type)
 Set the type of the option. More...
 
- Public Member Functions inherited from ns3::ObjectBase
void GetAttribute (std::string name, AttributeValue &value) const
 
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
 
void SetAttribute (std::string name, const AttributeValue &value)
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 

Static Public Member Functions

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

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]                         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Doxygen introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.

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

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().

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(), and ns3::dsr::DsrOptionRreq::Process().

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().

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().

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().

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().

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.

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

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

Get the type identificator.

Returns
type identificator

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

References ns3::TypeId::AddConstructor().

Referenced by GetInstanceTypeId().

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.

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().

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().

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().

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().

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.

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


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