Route Request (RREQ) Message Format. More...
#include <dsr-option-header.h>
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< Ipv4Address > | GetNodesAddresses () 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. | |
![]() | |
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. | |
![]() | |
virtual | ~Header () |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type identificator. |
Private Types | |
typedef std::vector< Ipv4Address > | VectorIpv4Address_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 | |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
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.
|
private |
Definition at line 408 of file dsr-option-header.h.
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().
|
virtual |
Destructor.
Definition at line 267 of file dsr-option-header.cc.
void ns3::dsr::DsrOptionRreqHeader::AddNodeAddress | ( | Ipv4Address | ipv4 | ) |
Add one node address.
ipv4 | The 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().
|
virtual |
Deserialize the packet.
start | Buffer iterator |
Reimplemented from ns3::dsr::DsrOptionHeader.
Definition at line 363 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(), ns3::dsr::DsrOptionHeader::SetType(), and visualizer.core::start().
|
virtual |
Get the Alignment requirement of this option header.
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.
uint16_t ns3::dsr::DsrOptionRreqHeader::GetId | ( | void | ) | const |
Set the request id number.
Definition at line 324 of file dsr-option-header.cc.
References m_identification.
Referenced by ns3::dsr::DsrRreqHeaderTest::DoRun().
|
virtual |
Get the 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 |
index | the index of the 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.
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.
Definition at line 304 of file dsr-option-header.cc.
References m_ipv4Address.
|
virtual |
Get the serialized size of the packet.
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.
Definition at line 277 of file dsr-option-header.cc.
References m_target.
Referenced by ns3::dsr::DsrRreqHeaderTest::DoRun(), and ns3::dsr::DsrOptionRreq::Process().
|
static |
Get the type identificator.
This method returns the TypeId associated to ns3::dsr::DsrOptionRreqHeader.
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().
|
virtual |
Print some informations about the packet.
os | output stream |
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.
|
virtual |
Serialize the packet.
start | Buffer iterator |
Reimplemented from ns3::dsr::DsrOptionHeader.
Definition at line 346 of file dsr-option-header.cc.
References ns3::dsr::DsrOptionHeader::GetLength(), ns3::dsr::DsrOptionHeader::GetType(), m_identification, m_ipv4Address, m_target, visualizer.core::start(), ns3::Buffer::Iterator::Write(), ns3::Buffer::Iterator::WriteHtonU16(), ns3::WriteTo(), and ns3::Buffer::Iterator::WriteU8().
void ns3::dsr::DsrOptionRreqHeader::SetDataLength | ( | uint32_t | dataLength | ) |
Set the data length.
dataLength | the data length |
void ns3::dsr::DsrOptionRreqHeader::SetId | ( | uint16_t | identification | ) |
Set the request id number.
the | identification 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 | ||
) |
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.
ipv4Address | the 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.
n | the 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.
target | the 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().
|
private |
Definition at line 404 of file dsr-option-header.h.
Referenced by Deserialize().
|
private |
The data length.
Definition at line 392 of file dsr-option-header.h.
|
private |
Identifier of the packet.
Definition at line 396 of file dsr-option-header.h.
Referenced by Deserialize(), GetId(), Serialize(), and SetId().
|
private |
The vector of Nodes' IPv4 Address.
Definition at line 412 of file dsr-option-header.h.
Referenced by AddNodeAddress(), Deserialize(), DsrOptionRreqHeader(), GetNodeAddress(), GetNodesAddresses(), GetNodesNumber(), GetSerializedSize(), Print(), Serialize(), SetNodeAddress(), SetNodesAddress(), and SetNumberAddress().
|
private |
Definition at line 400 of file dsr-option-header.h.
Referenced by Deserialize(), GetTarget(), Serialize(), and SetTarget().