20#include "ns3/olsr-header.h"
21#include "ns3/packet.h"
36 void DoRun()
override;
40 :
TestCase(
"Check Emf olsr time conversion")
47 for (
int time = 1; time <= 30; time++)
65 void DoRun()
override;
69 :
TestCase(
"Check Mid olsr messages")
79 olsr::PacketHeader hdr;
80 olsr::MessageHeader msg1;
82 olsr::MessageHeader msg2;
89 addresses.emplace_back(
"1.2.3.4");
90 addresses.emplace_back(
"1.2.3.5");
93 msg1.SetTimeToLive(255);
94 msg1.SetOriginatorAddress(
Ipv4Address(
"11.22.33.44"));
96 msg1.SetMessageSequenceNumber(7);
102 addresses.emplace_back(
"2.2.3.4");
103 addresses.emplace_back(
"2.2.3.5");
106 msg2.SetTimeToLive(254);
107 msg2.SetOriginatorAddress(
Ipv4Address(
"12.22.33.44"));
109 msg2.SetMessageType(olsr::MessageHeader::MID_MESSAGE);
110 msg2.SetMessageSequenceNumber(7);
113 hdr.SetPacketLength(hdr.GetSerializedSize() + msg1.GetSerializedSize() +
114 msg2.GetSerializedSize());
115 hdr.SetPacketSequenceNumber(123);
124 olsr::PacketHeader hdr;
127 uint32_t sizeLeft = hdr.GetPacketLength() - hdr.GetSerializedSize();
129 olsr::MessageHeader msg1;
143 sizeLeft -= msg1.GetSerializedSize();
148 olsr::MessageHeader msg2;
162 sizeLeft -= msg2.GetSerializedSize();
178 void DoRun()
override;
182 :
TestCase(
"Check Hello olsr messages")
190 olsr::MessageHeader msgIn;
212 olsr::MessageHeader msgOut;
249 void DoRun()
override;
253 :
TestCase(
"Check Tc olsr messages")
261 olsr::MessageHeader msgIn;
269 olsr::MessageHeader msgOut;
292 void DoRun()
override;
296 :
TestCase(
"Check Hna olsr messages")
304 olsr::MessageHeader msgIn;
313 olsr::MessageHeader msgOut;
Check Emf olsr time conversion.
void DoRun() override
Implementation to actually run this TestCase.
Check Hello olsr messages.
void DoRun() override
Implementation to actually run this TestCase.
void DoRun() override
Implementation to actually run this TestCase.
void DoRun() override
Implementation to actually run this TestCase.
void DoRun() override
Implementation to actually run this TestCase.
Check olsr header messages.
Ipv4 addresses are stored in host order in this class.
a class to represent an Ipv4 address mask
uint32_t RemoveHeader(Header &header)
Deserialize and remove the header from the internal buffer.
void AddHeader(const Header &header)
Add header to this packet.
uint32_t GetSize() const
Returns the the size in bytes of the packet (including the zero-filled initial payload).
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite.
#define NS_TEST_ASSERT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report and abort if not.
Time Seconds(double value)
Construct a Time in the indicated unit.
double EmfToSeconds(uint8_t olsrFormat)
Converts a number of seconds in the mantissa/exponent format to a decimal number.
uint8_t SecondsToEmf(double seconds)
Converts a decimal number of seconds to the mantissa/exponent format.
Every class exported by the ns3 library is enclosed in the ns3 namespace.