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

Public Member Functions

 DcfManagerTest ()
virtual void DoRun (void)
 Implementation to actually run this test case.
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 ()

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

- 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

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

Member Typedef Documentation

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

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

Constructor & Destructor Documentation

ns3::DcfManagerTest::DcfManagerTest ( )

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

Member Function Documentation

void ns3::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 ns3::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, ns3::MicroSeconds(), ns3::Now(), and ns3::Simulator::Schedule().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::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::MicroSeconds(), ns3::Now(), NS_ASSERT, and ns3::Simulator::Schedule().

Referenced by AddAccessRequest(), and DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::DcfManagerTest::AddAckTimeoutReset ( uint64_t  at)
private

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

References m_dcfManager, ns3::MicroSeconds(), ns3::DcfManager::NotifyAckTimeoutResetNow(), ns3::Now(), and ns3::Simulator::Schedule().

Referenced by AddAccessRequestWithSuccessfullAck().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

References m_dcfManager, ns3::MicroSeconds(), ns3::DcfManager::NotifyMaybeCcaBusyStartNow(), ns3::Now(), and ns3::Simulator::Schedule().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::DcfManagerTest::AddDcfState ( uint32_t  aifsn)
private

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

References ns3::DcfManager::Add(), 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 ns3::DcfManagerTest::AddNavReset ( uint64_t  at,
uint64_t  duration 
)
private

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

References m_dcfManager, ns3::MicroSeconds(), ns3::DcfManager::NotifyNavResetNow(), ns3::Now(), and ns3::Simulator::Schedule().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

References m_dcfManager, ns3::MicroSeconds(), ns3::DcfManager::NotifyNavStartNow(), ns3::Now(), and ns3::Simulator::Schedule().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

References m_dcfManager, ns3::MicroSeconds(), ns3::DcfManager::NotifyRxEndErrorNow(), ns3::DcfManager::NotifyRxStartNow(), ns3::Now(), and ns3::Simulator::Schedule().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

References m_dcfManager, ns3::MicroSeconds(), ns3::DcfManager::NotifyRxStartNow(), ns3::Now(), and ns3::Simulator::Schedule().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

References m_dcfManager, ns3::MicroSeconds(), ns3::DcfManager::NotifyRxEndOkNow(), ns3::DcfManager::NotifyRxStartNow(), ns3::Now(), and ns3::Simulator::Schedule().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

References m_dcfManager, ns3::MicroSeconds(), ns3::DcfManager::NotifyRxStartNow(), ns3::Now(), and ns3::Simulator::Schedule().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

References m_dcfManager, ns3::MicroSeconds(), ns3::DcfManager::NotifySwitchingStartNow(), ns3::Now(), and ns3::Simulator::Schedule().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

References m_dcfManager, ns3::MicroSeconds(), ns3::DcfManager::NotifyTxStartNow(), ns3::Now(), and ns3::Simulator::Schedule().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

References m_dcfManager, ns3::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 ns3::DcfManagerTest::DoRun ( void  )
virtual

Implementation to actually run this test case.

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 ns3::DcfManagerTest::EndTest ( void  )
private

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

References ns3::Simulator::Destroy(), m_dcfManager, m_dcfStates, ns3::DcfStateTest::m_expectedCollision, ns3::DcfStateTest::m_expectedGrants, ns3::DcfStateTest::m_expectedInternalCollision, NS_TEST_EXPECT_MSG_EQ, and ns3::TestCase::Run().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

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

Referenced by DoRun().

+ Here is the caller graph for this function:

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

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

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

Referenced by DoRun().

+ Here is the caller graph for this function:

void ns3::DcfManagerTest::NotifyAccessGranted ( uint32_t  i)
void ns3::DcfManagerTest::NotifyChannelSwitching ( uint32_t  i)

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

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

Referenced by ns3::DcfStateTest::DoNotifyChannelSwitching().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::DcfManagerTest::NotifyCollision ( uint32_t  i)
void ns3::DcfManagerTest::NotifyInternalCollision ( uint32_t  i)
void ns3::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 m_ackTimeoutValue, m_dcfManager, ns3::MicroSeconds(), 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 ns3::DcfManagerTest::m_ackTimeoutValue
private

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