A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
HwmpSimplestRegressionTest Class Reference

Peering Management & HWM Protocol regression test Initiate scenario with 2 stations. Procedure of opening peer link is the following: More...

#include <hwmp-simplest-regression.h>

+ Inheritance diagram for HwmpSimplestRegressionTest:
+ Collaboration diagram for HwmpSimplestRegressionTest:

Public Member Functions

 HwmpSimplestRegressionTest ()
virtual ~HwmpSimplestRegressionTest ()
void CheckResults ()
virtual void DoRun ()
 Implementation to actually run this test case.
- Public Member Functions inherited from ns3::TestCase
virtual ~TestCase ()

Private Member Functions

void CreateDevices ()
void CreateNodes ()
void InstallApplications ()
void ResetPosition ()

Private Attributes

Ipv4InterfaceContainer m_interfaces
NodeContainerm_nodes
 XXX It is important to have pointers here.
Time m_time
 Simulation time.

Additional Inherited Members

- Protected Member Functions inherited from ns3::TestCase
 TestCase (std::string name)
void AddTestCase (TestCase *testCase)
 Add an individual test case to this test suite.
std::string CreateDataDirFilename (std::string filename)
std::string CreateTempDirFilename (std::string filename)
bool GetErrorStatus (void) const NS_DEPRECATED
std::string GetName (void) const
bool IsStatusFailure (void) const
bool IsStatusSuccess (void) const
bool MustAssertOnFailure (void) const
bool MustContinueOnFailure (void) const
void ReportTestFailure (std::string cond, std::string actual, std::string limit, std::string message, std::string file, int32_t line)
void SetDataDir (std::string directory)

Detailed Description

Peering Management & HWM Protocol regression test Initiate scenario with 2 stations. Procedure of opening peer link is the following:

* <-----------|----------->   Broadcast frame
*             |----------->|  Unicast frame
*
*                                        !!! PMP routines:
* <-----------|----------->|             Beacon
*             |<-----------|             Peer Link Open frame 
*             |----------->|             Peer Link Open frame
*             |----------->|             Peer Link Confirm frame
*             |<-----------|             Peer Link Confirm frame
*             |............|             !!! Data started:
*             |<-----------|-----------> Arp Request
* <-----------|----------->|             Arp Request (fwd)
* <-----------|----------->|             PREQ
*             |<-----------|             PREP
*             |----------->|             ARP reply
*             |<-----------|             Data
*             |----------->|             Data
*             |............|             Some other beacons
*             |<-----------|             Data
*             |----------->|             Data
*             |............|             !!! Route expiration routines:
*             |<-----------|-----------> PREQ (route expired)
*             |----------->|             PREP
*             |<-----------|             Data
*             |----------->|             Data
*             |............|
* 

At 10 seconds stations become unreachable, so UDP client tries to close peer link due to TX-fail, and UDP-srver tries to close link due to beacon loss

Definition at line 68 of file hwmp-simplest-regression.h.

Constructor & Destructor Documentation

HwmpSimplestRegressionTest::HwmpSimplestRegressionTest ( )

Definition at line 45 of file hwmp-simplest-regression.cc.

HwmpSimplestRegressionTest::~HwmpSimplestRegressionTest ( )
virtual

Definition at line 51 of file hwmp-simplest-regression.cc.

References m_nodes.

Member Function Documentation

void HwmpSimplestRegressionTest::CheckResults ( )

Definition at line 147 of file hwmp-simplest-regression.cc.

References NS_PCAP_TEST_EXPECT_EQ, and PREFIX.

Referenced by DoRun().

+ Here is the caller graph for this function:

void HwmpSimplestRegressionTest::CreateNodes ( )
private

Definition at line 73 of file hwmp-simplest-regression.cc.

References ns3::NodeContainer::Create(), ns3::MobilityHelper::Install(), m_nodes, ResetPosition(), ns3::Seconds(), ns3::MobilityHelper::SetMobilityModel(), and ns3::MobilityHelper::SetPositionAllocator().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void HwmpSimplestRegressionTest::DoRun ( )
virtual

Implementation to actually run this test case.

Subclasses should override this method to conduct their tests.

Implements ns3::TestCase.

Definition at line 56 of file hwmp-simplest-regression.cc.

References CheckResults(), CreateDevices(), CreateNodes(), InstallApplications(), m_nodes, m_time, and ns3::TestCase::Run().

+ Here is the call graph for this function:

void HwmpSimplestRegressionTest::InstallApplications ( )
private
void HwmpSimplestRegressionTest::ResetPosition ( )
private

Definition at line 90 of file hwmp-simplest-regression.cc.

References ns3::NodeContainer::Get(), ns3::Object::GetObject(), m_nodes, and ns3::MobilityModel::SetPosition().

Referenced by CreateNodes().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

Ipv4InterfaceContainer HwmpSimplestRegressionTest::m_interfaces
private

Definition at line 82 of file hwmp-simplest-regression.h.

Referenced by CreateDevices(), and InstallApplications().

NodeContainer* HwmpSimplestRegressionTest::m_nodes
private

XXX It is important to have pointers here.

Definition at line 79 of file hwmp-simplest-regression.h.

Referenced by CreateDevices(), CreateNodes(), DoRun(), InstallApplications(), ResetPosition(), and ~HwmpSimplestRegressionTest().

Time HwmpSimplestRegressionTest::m_time
private

Simulation time.

Definition at line 81 of file hwmp-simplest-regression.h.

Referenced by DoRun(), and InstallApplications().


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