34 #include "ns3/boolean.h" 36 #include "ns3/ipv4-route.h" 37 #include "ns3/mesh-helper.h" 38 #include "ns3/simulator.h" 39 #include "ns3/double.h" 40 #include "ns3/uinteger.h" 41 #include "ns3/string.h" 42 #include "ns3/ipv4-address-helper.h" 44 #include "ns3/dsr-fs-header.h" 45 #include "ns3/dsr-option-header.h" 46 #include "ns3/dsr-rreq-table.h" 47 #include "ns3/dsr-rcache.h" 48 #include "ns3/dsr-rsendbuff.h" 49 #include "ns3/dsr-main-helper.h" 50 #include "ns3/dsr-helper.h" 96 const uint8_t*
data = buf.PeekData ();
126 std::vector<Ipv4Address> nodeList;
143 p->AddHeader (header);
144 p->RemoveAtStart (8);
147 uint32_t bytes = p->RemoveHeader (h2);
178 std::vector<Ipv4Address> nodeList;
190 p->AddHeader (header);
191 p->RemoveAtStart (8);
194 uint32_t bytes = p->RemoveHeader (h2);
224 std::vector<Ipv4Address> nodeList;
241 p->AddHeader (header);
242 p->RemoveAtStart (8);
245 uint32_t bytes = p->RemoveHeader (h2);
287 p->AddHeader (header);
288 p->RemoveAtStart (8);
290 uint32_t bytes = p->RemoveHeader (h2);
327 p->AddHeader (header);
328 p->RemoveAtStart (8);
329 p->AddHeader (header);
331 p->RemoveAtStart (8);
332 uint32_t bytes = p->RemoveHeader (h2);
373 p->AddHeader (header);
374 p->RemoveAtStart (8);
375 p->AddHeader (header);
377 p->RemoveAtStart (8);
378 uint32_t bytes = p->RemoveHeader (h2);
408 std::vector<Ipv4Address> ip;
427 std::vector<Ipv4Address> ip2;
516 Simulator::Destroy ();
uint32_t GetSize()
Number of entries.
uint32_t m_reqNo
Route request number.
void AddAtStart(uint32_t start)
DsrRouteCacheEntry class for entries in the route cache.
void SetDestination(Ipv4Address d)
Set destination address.
automatically resized byte buffer
#define NS_TEST_EXPECT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report if not.
uint32_t GetMaxQueueLen() const
Return the maximum queue length.
void CheckSizeLimit()
Check size limit function.
IP_VECTOR GetVector() const
Get the IP vector.
void DropPacketWithDst(Ipv4Address dst)
Remove all packets with destination IP address dst.
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite.
Ipv4Address GetDestination() const
Get destination address.
Unit test for DSR routing table entry.
void SetSendBufferTimeout(Time t)
Set the entry lifetime in the queue.
Unit test for DSR route cache entry.
bool Find(Ipv4Address dst)
Check if a packet with destination dst exists in the queue.
bool LookupRoute(Ipv4Address id, DsrRouteCacheEntry &rt)
Lookup route cache entry with destination address dst.
Time GetExpireTime() const
Get expire time.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
bool Enqueue(DsrSendBuffEntry &entry)
Push entry in queue, if there is no entry with the same packet and destination address in queue...
bool DeleteRoute(Ipv4Address dst)
Delete the route with certain destination address.
virtual void DoRun(void)
Implementation to actually run this TestCase.
Unit test for Send Buffer.
Time GetSendBufferTimeout() const
Return the entry lifetime in the queue.
Ipv4 addresses are stored in host order in this class.
void SetMaxQueueLen(uint32_t len)
Set the maximum queue length.
DsrTestSuite g_dsrTestSuite
void CheckTimeout()
Check timeout function.
virtual void DoRun(void)
Implementation to actually run this TestCase.
void AddDsrOption(DsrOptionHeader const &option)
Serialize the option, prepending pad1 or padn option as necessary.
void SetVector(IP_VECTOR v)
Sets the IP vector.
Time Seconds(double value)
Construct a Time in the indicated unit.
void SetExpireTime(Time exp)
Set expire time.
bool AddRoute(DsrRouteCacheEntry &rt)
Add route cache entry if it doesn't yet exist in route cache.
The route request table entries.
virtual void DoRun(void)
Implementation to actually run this TestCase.
This test suite implements a Unit Test.
dsr::DsrSendBuffer q
send buffer
bool Dequeue(Ipv4Address dst, DsrSendBuffEntry &entry)
Return first found (the earliest) entry for the given destination.