A Discrete-Event Network Simulator
API
OcbWifiMacTestCase Class Reference

Ocb Wifi Mac Test Case. More...

+ Inheritance diagram for OcbWifiMacTestCase:
+ Collaboration diagram for OcbWifiMacTestCase:

Public Member Functions

 OcbWifiMacTestCase (void)
 
virtual ~OcbWifiMacTestCase (void)
 
- Public Member Functions inherited from ns3::TestCase
virtual ~TestCase ()
 Destructor. More...
 
std::string GetName (void) const
 

Private Member Functions

void AdvancePosition (Ptr< Node > node)
 Advance position function. More...
 
void ConfigureAdhocMode (Ptr< Node > static_node, Ptr< Node > mobile_node)
 Configure adhoc mode function. More...
 
void ConfigureApStaMode (Ptr< Node > static_node, Ptr< Node > mobile_node)
 Configure AP STA mode function. More...
 
void ConfigureOcbMode (Ptr< Node > static_node, Ptr< Node > mobile_node)
 Configure OCB mode function. More...
 
virtual void DoRun (void)
 static-node:0 <-— mobile-node:1 More...
 
Vector GetCurrentPosition (uint32_t i)
 Get current position function. More...
 
void MacAssoc (std::string context, Mac48Address bssid)
 MAC associate function. More...
 
void PhyRxOkTrace (std::string context, Ptr< const Packet > packet, double snr, WifiMode mode, enum WifiPreamble preamble)
 Phy receive ok trace function. More...
 
void PhyTxTrace (std::string context, Ptr< const Packet > packet, WifiMode mode, WifiPreamble preamble, uint8_t txPower)
 Phy transmit trace function. More...
 
void PostDeviceConfiguration (Ptr< Node > static_node, Ptr< Node > mobile_node)
 Post device configuration function. More...
 
void PreRandomConfiguration (void)
 Pre random configuration function. More...
 

Private Attributes

Vector macassoc_pos
 MAC associate position. More...
 
Time macassoc_time
 MAC associate time. More...
 
NodeContainer nodes
 the nodes More...
 
Vector phyrx_pos
 Phy receive position. More...
 
Time phyrx_time
 Phy receive time. More...
 
Vector phytx_pos
 Phy transmit position. More...
 
Time phytx_time
 Phy transmit time. More...
 

Additional Inherited Members

- Public Types inherited from ns3::TestCase
enum  TestDuration { QUICK = 1, EXTENSIVE = 2, TAKES_FOREVER = 3 }
 How long the test takes to execute. More...
 
- Protected Member Functions inherited from ns3::TestCase
 TestCase (std::string name)
 Constructor. More...
 
void AddTestCase (TestCase *testCase, TestDuration duration=QUICK)
 Add an individual child TestCase to this test suite. More...
 
TestCaseGetParent () const
 Get the parent of this TestCsse. More...
 
bool IsStatusFailure (void) const
 Check if any tests failed. More...
 
bool IsStatusSuccess (void) const
 Check if all tests passed. More...
 
void SetDataDir (std::string directory)
 Set the data directory where reference trace files can be found. More...
 
void ReportTestFailure (std::string cond, std::string actual, std::string limit, std::string message, std::string file, int32_t line)
 Log the failure of this TestCase. More...
 
bool MustAssertOnFailure (void) const
 Check if this run should assert on failure. More...
 
bool MustContinueOnFailure (void) const
 Check if this run should continue on failure. More...
 
std::string CreateDataDirFilename (std::string filename)
 Construct the full path to a file in the data directory. More...
 
std::string CreateTempDirFilename (std::string filename)
 Construct the full path to a file in a temporary directory. More...
 

Detailed Description

Ocb Wifi Mac Test Case.

Definition at line 81 of file ocb-test-suite.cc.

Constructor & Destructor Documentation

◆ OcbWifiMacTestCase()

OcbWifiMacTestCase::OcbWifiMacTestCase ( void  )

Definition at line 166 of file ocb-test-suite.cc.

◆ ~OcbWifiMacTestCase()

OcbWifiMacTestCase::~OcbWifiMacTestCase ( void  )
virtual

Definition at line 171 of file ocb-test-suite.cc.

Member Function Documentation

◆ AdvancePosition()

void OcbWifiMacTestCase::AdvancePosition ( Ptr< Node node)
private

Advance position function.

Parameters
nodethe node

Definition at line 178 of file ocb-test-suite.cc.

References ns3::Object::GetObject(), third::mobility, and ns3::Seconds().

Referenced by PostDeviceConfiguration().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ConfigureAdhocMode()

void OcbWifiMacTestCase::ConfigureAdhocMode ( Ptr< Node static_node,
Ptr< Node mobile_node 
)
private

Configure adhoc mode function.

Parameters
static_nodethe static node
mobile_nodethe mobile node

Definition at line 272 of file ocb-test-suite.cc.

References ns3::YansWifiChannelHelper::Create(), ns3::YansWifiPhyHelper::SetChannel(), ns3::WifiMacHelper::SetType(), third::wifi, and ns3::WIFI_STANDARD_80211p.

Referenced by DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ConfigureApStaMode()

void OcbWifiMacTestCase::ConfigureApStaMode ( Ptr< Node static_node,
Ptr< Node mobile_node 
)
private

Configure AP STA mode function.

Parameters
static_nodethe static node
mobile_nodethe mobile node

Definition at line 250 of file ocb-test-suite.cc.

References ns3::YansWifiChannelHelper::Create(), ns3::YansWifiPhyHelper::SetChannel(), ns3::WifiMacHelper::SetType(), third::ssid, third::wifi, and ns3::WIFI_STANDARD_80211p.

Referenced by DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ConfigureOcbMode()

void OcbWifiMacTestCase::ConfigureOcbMode ( Ptr< Node static_node,
Ptr< Node mobile_node 
)
private

Configure OCB mode function.

Parameters
static_nodethe static node
mobile_nodethe mobile node

Definition at line 291 of file ocb-test-suite.cc.

References ns3::YansWifiChannelHelper::Create(), ns3::Wifi80211pHelper::Install(), ns3::YansWifiPhyHelper::SetChannel(), and ns3::WifiHelper::SetRemoteStationManager().

Referenced by DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DoRun()

void OcbWifiMacTestCase::DoRun ( void  )
privatevirtual

static-node:0 <-— mobile-node:1

  • ---— 350m ----— *

the node transmit range is less than 150m

Ap+Sta mode vs Adhoc mode vs Ocb mode first test the time point when the stationary node is an AP and the mobile node is a Sta then test when one Ad-hoc node and another Ad-hoc node last test when one OCB node and another OCB node

Implements ns3::TestCase.

Definition at line 380 of file ocb-test-suite.cc.

References ConfigureAdhocMode(), ConfigureApStaMode(), ConfigureOcbMode(), ns3::NodeContainer::Create(), ns3::NodeContainer::Get(), ns3::Time::GetNanoSeconds(), macassoc_pos, macassoc_time, nodes, NS_TEST_ASSERT_MSG_EQ, NS_TEST_ASSERT_MSG_GT, NS_TEST_ASSERT_MSG_LT, phyrx_pos, phyrx_time, phytx_pos, phytx_time, PostDeviceConfiguration(), PreRandomConfiguration(), and ns3::Seconds().

+ Here is the call graph for this function:

◆ GetCurrentPosition()

Vector OcbWifiMacTestCase::GetCurrentPosition ( uint32_t  i)
private

Get current position function.

Parameters
ithe current position index
Returns
the current position vector

Definition at line 196 of file ocb-test-suite.cc.

References ns3::NodeContainer::Get(), ns3::Object::GetObject(), third::mobility, nodes, and NS_ASSERT.

Referenced by MacAssoc(), PhyRxOkTrace(), and PhyTxTrace().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MacAssoc()

void OcbWifiMacTestCase::MacAssoc ( std::string  context,
Mac48Address  bssid 
)
private

MAC associate function.

Parameters
contextthe context
bssidthe BSSID

Definition at line 206 of file ocb-test-suite.cc.

References ns3::Time::As(), GetCurrentPosition(), macassoc_pos, macassoc_time, and ns3::Now().

Referenced by PostDeviceConfiguration().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PhyRxOkTrace()

void OcbWifiMacTestCase::PhyRxOkTrace ( std::string  context,
Ptr< const Packet packet,
double  snr,
WifiMode  mode,
enum WifiPreamble  preamble 
)
private

Phy receive ok trace function.

Parameters
contextthe context
packetthe packet
snrthe SNR
modethe mode
preamblethe preamble

Definition at line 221 of file ocb-test-suite.cc.

References ns3::Time::As(), GetCurrentPosition(), ns3::Now(), phyrx_pos, and phyrx_time.

Referenced by PostDeviceConfiguration().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PhyTxTrace()

void OcbWifiMacTestCase::PhyTxTrace ( std::string  context,
Ptr< const Packet packet,
WifiMode  mode,
WifiPreamble  preamble,
uint8_t  txPower 
)
private

Phy transmit trace function.

Parameters
contextthe context
packetthe packet
modethe mode
preamblethe preamble
txPowerthe transmit power

Definition at line 235 of file ocb-test-suite.cc.

References ns3::Time::As(), GetCurrentPosition(), ns3::WifiMacHeader::IsData(), ns3::Now(), ns3::Packet::PeekHeader(), phytx_pos, and phytx_time.

Referenced by PostDeviceConfiguration().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PostDeviceConfiguration()

◆ PreRandomConfiguration()

void OcbWifiMacTestCase::PreRandomConfiguration ( void  )
private

Pre random configuration function.

Definition at line 440 of file ocb-test-suite.cc.

Referenced by DoRun().

+ Here is the caller graph for this function:

Member Data Documentation

◆ macassoc_pos

Vector OcbWifiMacTestCase::macassoc_pos
private

MAC associate position.

Definition at line 156 of file ocb-test-suite.cc.

Referenced by DoRun(), MacAssoc(), and PostDeviceConfiguration().

◆ macassoc_time

Time OcbWifiMacTestCase::macassoc_time
private

MAC associate time.

Definition at line 155 of file ocb-test-suite.cc.

Referenced by DoRun(), MacAssoc(), and PostDeviceConfiguration().

◆ nodes

NodeContainer OcbWifiMacTestCase::nodes
private

the nodes

Definition at line 163 of file ocb-test-suite.cc.

Referenced by DoRun(), and GetCurrentPosition().

◆ phyrx_pos

Vector OcbWifiMacTestCase::phyrx_pos
private

Phy receive position.

Definition at line 159 of file ocb-test-suite.cc.

Referenced by DoRun(), PhyRxOkTrace(), and PostDeviceConfiguration().

◆ phyrx_time

Time OcbWifiMacTestCase::phyrx_time
private

Phy receive time.

Definition at line 158 of file ocb-test-suite.cc.

Referenced by DoRun(), PhyRxOkTrace(), and PostDeviceConfiguration().

◆ phytx_pos

Vector OcbWifiMacTestCase::phytx_pos
private

Phy transmit position.

Definition at line 153 of file ocb-test-suite.cc.

Referenced by DoRun(), PhyTxTrace(), and PostDeviceConfiguration().

◆ phytx_time

Time OcbWifiMacTestCase::phytx_time
private

Phy transmit time.

Definition at line 152 of file ocb-test-suite.cc.

Referenced by DoRun(), PhyTxTrace(), and PostDeviceConfiguration().


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