HELLO Message Format. More...
#include "olsr-header.h"
Classes | |
struct | LinkMessage |
Link message item. More... | |
Public Member Functions | |
uint32_t | Deserialize (Buffer::Iterator start, uint32_t messageSize) |
This method is used by Packet::RemoveHeader to re-create a header from the byte buffer of a packet. More... | |
Time | GetHTime () const |
Get the HELLO emission interval. More... | |
uint32_t | GetSerializedSize (void) const |
Returns the expected size of the header. More... | |
void | Print (std::ostream &os) const |
This method is used to print the content of a Hello message. More... | |
void | Serialize (Buffer::Iterator start) const |
This method is used by Packet::AddHeader to store a header into the byte buffer of a packet. More... | |
void | SetHTime (Time time) |
Set the HELLO emission interval. More... | |
Public Attributes | |
uint8_t | hTime |
HELLO emission interval (coded) More... | |
std::vector< LinkMessage > | linkMessages |
Link messages container. More... | |
uint8_t | willingness |
The willingness of a node to carry and forward traffic for other nodes. More... | |
HELLO Message Format.
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Htime | Willingness | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link Code | Reserved | Link Message Size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Neighbor Interface Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Neighbor Interface Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : . . . : : : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link Code | Reserved | Link Message Size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Neighbor Interface Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Neighbor Interface Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : : (etc.)
Definition at line 376 of file olsr-header.h.
uint32_t ns3::olsr::MessageHeader::Hello::Deserialize | ( | Buffer::Iterator | start, |
uint32_t | messageSize | ||
) |
This method is used by Packet::RemoveHeader to re-create a header from the byte buffer of a packet.
start | an iterator which points to where the header should read from. |
messageSize | the message size. |
Definition at line 462 of file olsr-header.cc.
References IPV4_ADDRESS_SIZE, ns3::olsr::MessageHeader::Hello::LinkMessage::linkCode, ns3::olsr::MessageHeader::Hello::LinkMessage::neighborInterfaceAddresses, NS_ASSERT, ns3::Buffer::Iterator::ReadNtohU16(), ns3::Buffer::Iterator::ReadNtohU32(), ns3::Buffer::Iterator::ReadU8(), and visualizer.core::start().
|
inline |
Get the HELLO emission interval.
Definition at line 402 of file olsr-header.h.
References ns3::olsr::EmfToSeconds(), and ns3::Seconds().
Referenced by OlsrHelloTestCase::DoRun().
uint32_t ns3::olsr::MessageHeader::Hello::GetSerializedSize | ( | void | ) | const |
Returns the expected size of the header.
Definition at line 388 of file olsr-header.cc.
References IPV4_ADDRESS_SIZE, and ns3::olsr::MessageHeader::Hello::LinkMessage::neighborInterfaceAddresses.
void ns3::olsr::MessageHeader::Hello::Print | ( | std::ostream & | os | ) | const |
This method is used to print the content of a Hello message.
os | output stream |
Definition at line 402 of file olsr-header.cc.
References ns3::olsr::EmfToSeconds(), ns3::olsr::MessageHeader::Hello::LinkMessage::linkCode, and ns3::olsr::MessageHeader::Hello::LinkMessage::neighborInterfaceAddresses.
void ns3::olsr::MessageHeader::Hello::Serialize | ( | Buffer::Iterator | start | ) | const |
This method is used by Packet::AddHeader to store a header into the byte buffer of a packet.
start | an iterator which points to where the header should be written. |
Definition at line 431 of file olsr-header.cc.
References IPV4_ADDRESS_SIZE, ns3::olsr::MessageHeader::Hello::LinkMessage::linkCode, ns3::olsr::MessageHeader::Hello::LinkMessage::neighborInterfaceAddresses, visualizer.core::start(), ns3::Buffer::Iterator::WriteHtonU16(), ns3::Buffer::Iterator::WriteHtonU32(), ns3::Buffer::Iterator::WriteU16(), and ns3::Buffer::Iterator::WriteU8().
|
inline |
Set the HELLO emission interval.
time | The HELLO emission interval. |
Definition at line 393 of file olsr-header.h.
References ns3::Time::GetSeconds(), and ns3::olsr::SecondsToEmf().
Referenced by OlsrHelloTestCase::DoRun(), and ns3::olsr::RoutingProtocol::SendHello().
uint8_t ns3::olsr::MessageHeader::Hello::hTime |
HELLO emission interval (coded)
Definition at line 387 of file olsr-header.h.
std::vector<LinkMessage> ns3::olsr::MessageHeader::Hello::linkMessages |
Link messages container.
Definition at line 408 of file olsr-header.h.
Referenced by OlsrHelloTestCase::DoRun(), ns3::olsr::RoutingProtocol::LinkSensing(), ns3::olsr::RoutingProtocol::PopulateMprSelectorSet(), ns3::olsr::RoutingProtocol::PopulateTwoHopNeighborSet(), ns3::olsr::HelloRegressionTest::ReceivePktProbeA(), ns3::olsr::TcRegressionTest::ReceivePktProbeA(), ns3::olsr::HelloRegressionTest::ReceivePktProbeB(), ns3::olsr::TcRegressionTest::ReceivePktProbeB(), ns3::olsr::TcRegressionTest::ReceivePktProbeC(), and ns3::olsr::RoutingProtocol::SendHello().
uint8_t ns3::olsr::MessageHeader::Hello::willingness |
The willingness of a node to carry and forward traffic for other nodes.
Definition at line 407 of file olsr-header.h.
Referenced by OlsrHelloTestCase::DoRun(), ns3::olsr::RoutingProtocol::LinkSensing(), ns3::olsr::RoutingProtocol::PopulateNeighborSet(), and ns3::olsr::RoutingProtocol::SendHello().