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... | |
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 |
DcfManager * | m_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... | |
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) |
Definition at line 58 of file dcf-manager-test.cc.
|
private |
Definition at line 100 of file dcf-manager-test.cc.
ns3::DcfManagerTest::DcfManagerTest | ( | ) |
Definition at line 141 of file dcf-manager-test.cc.
|
private |
Definition at line 298 of file dcf-manager-test.cc.
References AddAccessRequestWithSuccessfullAck().
Referenced by DoRun().
|
private |
Definition at line 304 of file dcf-manager-test.cc.
References DoAccessRequest(), m_dcfStates, ns3::Now(), and ns3::Simulator::Schedule().
Referenced by DoRun().
|
private |
at | time to schedule DoAccessRequest event |
txTime | DoAccessRequest txTime |
expectedGrantTime | DoAccessRequest expectedGrantTime |
ackDelay | is delay of the ack after txEnd |
from | DoAccessRequest DcfStateTest |
Definition at line 312 of file dcf-manager-test.cc.
References AddAckTimeoutReset(), DoAccessRequest(), m_ackTimeoutValue, m_dcfStates, ns3::Now(), NS_ASSERT, and ns3::Simulator::Schedule().
Referenced by AddAccessRequest(), and DoRun().
|
private |
Definition at line 292 of file dcf-manager-test.cc.
References m_dcfManager, ns3::DcfManager::NotifyAckTimeoutResetNow(), ns3::Now(), and ns3::Simulator::Schedule().
Referenced by AddAccessRequestWithSuccessfullAck().
|
private |
Definition at line 328 of file dcf-manager-test.cc.
References m_dcfManager, ns3::DcfManager::NotifyMaybeCcaBusyStartNow(), ns3::Now(), and ns3::Simulator::Schedule().
Referenced by DoRun().
|
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().
|
private |
Definition at line 278 of file dcf-manager-test.cc.
References m_dcfManager, ns3::DcfManager::NotifyNavResetNow(), ns3::Now(), and ns3::Simulator::Schedule().
Referenced by DoRun().
|
private |
Definition at line 285 of file dcf-manager-test.cc.
References m_dcfManager, ns3::DcfManager::NotifyNavStartNow(), ns3::Now(), and ns3::Simulator::Schedule().
Referenced by DoRun().
|
private |
Definition at line 268 of file dcf-manager-test.cc.
References m_dcfManager, ns3::DcfManager::NotifyRxEndErrorNow(), ns3::DcfManager::NotifyRxStartNow(), ns3::Now(), and ns3::Simulator::Schedule().
Referenced by DoRun().
|
private |
Definition at line 261 of file dcf-manager-test.cc.
References m_dcfManager, ns3::DcfManager::NotifyRxStartNow(), ns3::Now(), and ns3::Simulator::Schedule().
Referenced by DoRun().
|
private |
Definition at line 252 of file dcf-manager-test.cc.
References m_dcfManager, ns3::DcfManager::NotifyRxEndOkNow(), ns3::DcfManager::NotifyRxStartNow(), ns3::Now(), and ns3::Simulator::Schedule().
Referenced by DoRun().
|
private |
Definition at line 342 of file dcf-manager-test.cc.
References m_dcfManager, ns3::DcfManager::NotifyRxStartNow(), ns3::Now(), and ns3::Simulator::Schedule().
Referenced by DoRun().
|
private |
Definition at line 335 of file dcf-manager-test.cc.
References m_dcfManager, ns3::DcfManager::NotifySwitchingStartNow(), ns3::Now(), and ns3::Simulator::Schedule().
Referenced by DoRun().
|
private |
Definition at line 158 of file dcf-manager-test.cc.
References m_dcfManager, ns3::DcfManager::NotifyTxStartNow(), ns3::Now(), and ns3::Simulator::Schedule().
Referenced by DoRun().
|
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().
|
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().
|
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::Simulator::Run().
Referenced by DoRun().
|
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().
|
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().
void ns3::DcfManagerTest::NotifyAccessGranted | ( | uint32_t | i | ) |
Definition at line 147 of file dcf-manager-test.cc.
References m_ackTimeoutValue, m_dcfManager, m_dcfStates, ns3::DcfStateTest::m_expectedGrants, ns3::DcfManager::NotifyAckTimeoutStartNow(), ns3::DcfManager::NotifyTxStartNow(), ns3::Simulator::Now(), and NS_TEST_EXPECT_MSG_EQ.
Referenced by ns3::DcfStateTest::DoNotifyAccessGranted().
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::Simulator::Now(), and NS_TEST_EXPECT_MSG_EQ.
Referenced by ns3::DcfStateTest::DoNotifyChannelSwitching().
void ns3::DcfManagerTest::NotifyCollision | ( | uint32_t | i | ) |
Definition at line 175 of file dcf-manager-test.cc.
References ns3::DcfStateTest::ExpectedCollision::at, m_dcfStates, ns3::DcfStateTest::m_expectedCollision, ns3::Simulator::Now(), NS_TEST_EXPECT_MSG_EQ, ns3::DcfStateTest::ExpectedCollision::nSlots, and ns3::DcfState::StartBackoffNow().
Referenced by ns3::DcfStateTest::DoNotifyCollision().
void ns3::DcfManagerTest::NotifyInternalCollision | ( | uint32_t | i | ) |
Definition at line 165 of file dcf-manager-test.cc.
References ns3::DcfStateTest::ExpectedCollision::at, m_dcfStates, ns3::DcfStateTest::m_expectedInternalCollision, ns3::Simulator::Now(), NS_TEST_EXPECT_MSG_EQ, ns3::DcfStateTest::ExpectedCollision::nSlots, and ns3::DcfState::StartBackoffNow().
Referenced by ns3::DcfStateTest::DoNotifyInternalCollision().
|
private |
Definition at line 216 of file dcf-manager-test.cc.
References m_ackTimeoutValue, m_dcfManager, ns3::DcfManager::SetEifsNoDifs(), ns3::DcfManager::SetSifs(), and ns3::DcfManager::SetSlot().
Referenced by DoRun().
|
private |
Definition at line 104 of file dcf-manager-test.cc.
Referenced by AddAccessRequestWithSuccessfullAck(), NotifyAccessGranted(), and StartTest().
|
private |
Definition at line 102 of file dcf-manager-test.cc.
Referenced by AddAckTimeoutReset(), AddCcaBusyEvt(), AddDcfState(), AddNavReset(), AddNavStart(), AddRxErrorEvt(), AddRxInsideSifsEvt(), AddRxOkEvt(), AddRxStartEvt(), AddSwitchingEvt(), AddTxEvt(), DoAccessRequest(), EndTest(), NotifyAccessGranted(), and StartTest().
|
private |
Definition at line 103 of file dcf-manager-test.cc.
Referenced by AddAccessRequestWithAckTimeout(), AddAccessRequestWithSuccessfullAck(), AddDcfState(), EndTest(), ExpectCollision(), ExpectInternalCollision(), NotifyAccessGranted(), NotifyChannelSwitching(), NotifyCollision(), and NotifyInternalCollision().