A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DcfManagerTest Class Reference
+ Inheritance diagram for DcfManagerTest:
+ Collaboration diagram for DcfManagerTest:

Public Member Functions

 DcfManagerTest ()
 
virtual void DoRun (void)
 Implementation to actually run this TestCase. More...
 
void NotifyAccessGranted (uint32_t i)
 
void NotifyChannelSwitching (uint32_t i)
 
void NotifyCollision (uint32_t i)
 
void NotifyInternalCollision (uint32_t i)
 
- Public Member Functions inherited from ns3::TestCase
virtual ~TestCase ()
 Destructor. More...
 
std::string GetName (void) const
 

Private Types

typedef std::vector
< DcfStateTest * > 
DcfStates
 

Private Member Functions

void AddAccessRequest (uint64_t at, uint64_t txTime, uint64_t expectedGrantTime, uint32_t from)
 
void AddAccessRequestWithAckTimeout (uint64_t at, uint64_t txTime, uint64_t expectedGrantTime, uint32_t from)
 
void AddAccessRequestWithSuccessfullAck (uint64_t at, uint64_t txTime, uint64_t expectedGrantTime, uint32_t ackDelay, uint32_t from)
 
void AddAckTimeoutReset (uint64_t at)
 
void AddCcaBusyEvt (uint64_t at, uint64_t duration)
 
void AddDcfState (uint32_t aifsn)
 
void AddNavReset (uint64_t at, uint64_t duration)
 
void AddNavStart (uint64_t at, uint64_t duration)
 
void AddRxErrorEvt (uint64_t at, uint64_t duration)
 
void AddRxInsideSifsEvt (uint64_t at, uint64_t duration)
 
void AddRxOkEvt (uint64_t at, uint64_t duration)
 
void AddRxStartEvt (uint64_t at, uint64_t duration)
 
void AddSwitchingEvt (uint64_t at, uint64_t duration)
 
void AddTxEvt (uint64_t at, uint64_t duration)
 
void DoAccessRequest (uint64_t txTime, uint64_t expectedGrantTime, DcfStateTest *state)
 
void EndTest (void)
 
void ExpectCollision (uint64_t time, uint32_t from, uint32_t nSlots)
 
void ExpectInternalCollision (uint64_t time, uint32_t from, uint32_t nSlots)
 
void StartTest (uint64_t slotTime, uint64_t sifs, uint64_t eifsNoDifsNoSifs, uint32_t ackTimeoutValue=20)
 

Private Attributes

uint32_t m_ackTimeoutValue
 
DcfManagerm_dcfManager
 
DcfStates m_dcfStates
 

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)
 
void AddTestCase (TestCase *testCase) NS_DEPRECATED
 Add an individual child TestCase case to this TestCase. More...
 
void AddTestCase (TestCase *testCase, enum TestDuration duration)
 Add an individual child TestCase to this test suite. More...
 
bool GetErrorStatus (void) const NS_DEPRECATED
 
TestCaseGetParent () const
 
bool IsStatusFailure (void) const
 
bool IsStatusSuccess (void) const
 
void SetDataDir (std::string directory)
 
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
 
bool MustContinueOnFailure (void) const
 
std::string CreateDataDirFilename (std::string filename)
 
std::string CreateTempDirFilename (std::string filename)
 

Detailed Description

Definition at line 58 of file dcf-manager-test.cc.

Member Typedef Documentation

typedef std::vector<DcfStateTest *> DcfManagerTest::DcfStates
private

Definition at line 100 of file dcf-manager-test.cc.

Constructor & Destructor Documentation

DcfManagerTest::DcfManagerTest ( )

Definition at line 141 of file dcf-manager-test.cc.

Member Function Documentation

void DcfManagerTest::AddAccessRequest ( uint64_t  at,
uint64_t  txTime,
uint64_t  expectedGrantTime,
uint32_t  from 
)
private

Definition at line 298 of file dcf-manager-test.cc.

References AddAccessRequestWithSuccessfullAck().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DcfManagerTest::AddAccessRequestWithAckTimeout ( uint64_t  at,
uint64_t  txTime,
uint64_t  expectedGrantTime,
uint32_t  from 
)
private

Definition at line 304 of file dcf-manager-test.cc.

References DoAccessRequest(), m_dcfStates, and ns3::Now().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DcfManagerTest::AddAccessRequestWithSuccessfullAck ( uint64_t  at,
uint64_t  txTime,
uint64_t  expectedGrantTime,
uint32_t  ackDelay,
uint32_t  from 
)
private
Parameters
attime to schedule DoAccessRequest event
txTimeDoAccessRequest txTime
expectedGrantTimeDoAccessRequest expectedGrantTime
ackDelayis delay of the ack after txEnd
fromDoAccessRequest DcfStateTest

Definition at line 312 of file dcf-manager-test.cc.

References AddAckTimeoutReset(), DoAccessRequest(), m_ackTimeoutValue, m_dcfStates, ns3::Now(), and NS_ASSERT.

Referenced by AddAccessRequest(), and DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DcfManagerTest::AddAckTimeoutReset ( uint64_t  at)
private

Definition at line 292 of file dcf-manager-test.cc.

References m_dcfManager, and ns3::Now().

Referenced by AddAccessRequestWithSuccessfullAck().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DcfManagerTest::AddCcaBusyEvt ( uint64_t  at,
uint64_t  duration 
)
private

Definition at line 328 of file dcf-manager-test.cc.

References m_dcfManager, and ns3::Now().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DcfManagerTest::AddDcfState ( uint32_t  aifsn)
private

Definition at line 226 of file dcf-manager-test.cc.

References ns3::DcfManager::Add(), DcfStateTest::DcfStateTest(), m_dcfManager, m_dcfStates, and ns3::DcfState::SetAifsn().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DcfManagerTest::AddNavReset ( uint64_t  at,
uint64_t  duration 
)
private

Definition at line 278 of file dcf-manager-test.cc.

References m_dcfManager, and ns3::Now().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DcfManagerTest::AddNavStart ( uint64_t  at,
uint64_t  duration 
)
private

Definition at line 285 of file dcf-manager-test.cc.

References m_dcfManager, and ns3::Now().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DcfManagerTest::AddRxErrorEvt ( uint64_t  at,
uint64_t  duration 
)
private

Definition at line 268 of file dcf-manager-test.cc.

References m_dcfManager, and ns3::Now().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DcfManagerTest::AddRxInsideSifsEvt ( uint64_t  at,
uint64_t  duration 
)
private

Definition at line 261 of file dcf-manager-test.cc.

References m_dcfManager, and ns3::Now().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DcfManagerTest::AddRxOkEvt ( uint64_t  at,
uint64_t  duration 
)
private

Definition at line 252 of file dcf-manager-test.cc.

References m_dcfManager, and ns3::Now().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DcfManagerTest::AddRxStartEvt ( uint64_t  at,
uint64_t  duration 
)
private

Definition at line 342 of file dcf-manager-test.cc.

References m_dcfManager, and ns3::Now().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DcfManagerTest::AddSwitchingEvt ( uint64_t  at,
uint64_t  duration 
)
private

Definition at line 335 of file dcf-manager-test.cc.

References m_dcfManager, and ns3::Now().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DcfManagerTest::AddTxEvt ( uint64_t  at,
uint64_t  duration 
)
private

Definition at line 158 of file dcf-manager-test.cc.

References m_dcfManager, and ns3::Now().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DcfManagerTest::DoAccessRequest ( uint64_t  txTime,
uint64_t  expectedGrantTime,
DcfStateTest state 
)
private

Definition at line 322 of file dcf-manager-test.cc.

References m_dcfManager, DcfStateTest::QueueTx(), and ns3::DcfManager::RequestAccess().

Referenced by AddAccessRequestWithAckTimeout(), and AddAccessRequestWithSuccessfullAck().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DcfManagerTest::DoRun ( void  )
virtual

Implementation to actually run this TestCase.

Subclasses should override this method to conduct their tests.

Implements ns3::TestCase.

Definition at line 352 of file dcf-manager-test.cc.

References AddAccessRequest(), AddAccessRequestWithAckTimeout(), AddAccessRequestWithSuccessfullAck(), AddCcaBusyEvt(), AddDcfState(), AddNavReset(), AddNavStart(), AddRxErrorEvt(), AddRxInsideSifsEvt(), AddRxOkEvt(), AddRxStartEvt(), AddSwitchingEvt(), AddTxEvt(), EndTest(), ExpectCollision(), ExpectInternalCollision(), and StartTest().

+ Here is the call graph for this function:

void DcfManagerTest::EndTest ( void  )
private

Definition at line 235 of file dcf-manager-test.cc.

References m_dcfManager, m_dcfStates, DcfStateTest::m_expectedCollision, DcfStateTest::m_expectedGrants, DcfStateTest::m_expectedInternalCollision, and NS_TEST_EXPECT_MSG_EQ.

Referenced by DoRun().

+ Here is the caller graph for this function:

void DcfManagerTest::ExpectCollision ( uint64_t  time,
uint32_t  from,
uint32_t  nSlots 
)
private

Definition at line 206 of file dcf-manager-test.cc.

References DcfStateTest::ExpectedCollision::at, m_dcfStates, DcfStateTest::m_expectedCollision, and DcfStateTest::ExpectedCollision::nSlots.

Referenced by DoRun().

+ Here is the caller graph for this function:

void DcfManagerTest::ExpectInternalCollision ( uint64_t  time,
uint32_t  from,
uint32_t  nSlots 
)
private

Definition at line 197 of file dcf-manager-test.cc.

References DcfStateTest::ExpectedCollision::at, m_dcfStates, DcfStateTest::m_expectedInternalCollision, and DcfStateTest::ExpectedCollision::nSlots.

Referenced by DoRun().

+ Here is the caller graph for this function:

void DcfManagerTest::NotifyAccessGranted ( uint32_t  i)

Definition at line 147 of file dcf-manager-test.cc.

References m_ackTimeoutValue, m_dcfManager, m_dcfStates, DcfStateTest::m_expectedGrants, ns3::DcfManager::NotifyAckTimeoutStartNow(), ns3::DcfManager::NotifyTxStartNow(), ns3::Now(), and NS_TEST_EXPECT_MSG_EQ.

Referenced by DcfStateTest::DoNotifyAccessGranted().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DcfManagerTest::NotifyChannelSwitching ( uint32_t  i)

Definition at line 185 of file dcf-manager-test.cc.

References m_dcfStates, DcfStateTest::m_expectedGrants, ns3::Now(), and NS_TEST_EXPECT_MSG_EQ.

Referenced by DcfStateTest::DoNotifyChannelSwitching().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DcfManagerTest::NotifyCollision ( uint32_t  i)

Definition at line 175 of file dcf-manager-test.cc.

References DcfStateTest::ExpectedCollision::at, m_dcfStates, DcfStateTest::m_expectedCollision, ns3::Now(), NS_TEST_EXPECT_MSG_EQ, DcfStateTest::ExpectedCollision::nSlots, and ns3::DcfState::StartBackoffNow().

Referenced by DcfStateTest::DoNotifyCollision().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DcfManagerTest::NotifyInternalCollision ( uint32_t  i)
void DcfManagerTest::StartTest ( uint64_t  slotTime,
uint64_t  sifs,
uint64_t  eifsNoDifsNoSifs,
uint32_t  ackTimeoutValue = 20 
)
private

Definition at line 216 of file dcf-manager-test.cc.

References ns3::DcfState::DcfManager, m_ackTimeoutValue, m_dcfManager, ns3::DcfManager::SetEifsNoDifs(), ns3::DcfManager::SetSifs(), and ns3::DcfManager::SetSlot().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

uint32_t DcfManagerTest::m_ackTimeoutValue
private

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