Dcf Manager Test. More...
Inheritance diagram for ChannelAccessManagerTest:
Collaboration diagram for ChannelAccessManagerTest:Public Member Functions | |
| ChannelAccessManagerTest () | |
| virtual void | DoRun (void) |
| Implementation to actually run this TestCase. More... | |
| void | NotifyAccessGranted (uint32_t i) |
| Notify access granted function. More... | |
| void | NotifyChannelSwitching (uint32_t i) |
| Notify channel switching function. More... | |
| void | NotifyCollision (uint32_t i) |
| Notify collision function. More... | |
| void | NotifyInternalCollision (uint32_t i) |
| Notify internal collision function. More... | |
Public Member Functions inherited from ns3::TestCase | |
| virtual | ~TestCase () |
| Destructor. More... | |
| std::string | GetName (void) const |
Private Types | |
| typedef std::vector< Ptr< TxopTest > > | TxopTests |
| the TXOP tests typedef More... | |
Private Member Functions | |
| void | AddAccessRequest (uint64_t at, uint64_t txTime, uint64_t expectedGrantTime, uint32_t from) |
| Add access function. More... | |
| void | AddAccessRequestWithAckTimeout (uint64_t at, uint64_t txTime, uint64_t expectedGrantTime, uint32_t from) |
| Add access request with ack timeout. More... | |
| void | AddAccessRequestWithSuccessfullAck (uint64_t at, uint64_t txTime, uint64_t expectedGrantTime, uint32_t ackDelay, uint32_t from) |
| Add access request with successful ack. More... | |
| void | AddAckTimeoutReset (uint64_t at) |
| Add ack timeout reset function. More... | |
| void | AddCcaBusyEvt (uint64_t at, uint64_t duration) |
| Add CCA busy event function. More... | |
| void | AddDcfState (uint32_t aifsn) |
| Add DCF state function. More... | |
| void | AddNavReset (uint64_t at, uint64_t duration) |
| Add NAV reset function. More... | |
| void | AddNavStart (uint64_t at, uint64_t duration) |
| Add NAV start function. More... | |
| void | AddRxErrorEvt (uint64_t at, uint64_t duration) |
| Add receive error event function. More... | |
| void | AddRxInsideSifsEvt (uint64_t at, uint64_t duration) |
| Add receive inside SIFS event function. More... | |
| void | AddRxOkEvt (uint64_t at, uint64_t duration) |
| Add expect collision function. More... | |
| void | AddRxStartEvt (uint64_t at, uint64_t duration) |
| Add receive start event function. More... | |
| void | AddSwitchingEvt (uint64_t at, uint64_t duration) |
| Add switching event function. More... | |
| void | AddTxEvt (uint64_t at, uint64_t duration) |
| Add transmit event function. More... | |
| void | DoAccessRequest (uint64_t txTime, uint64_t expectedGrantTime, Ptr< TxopTest > state) |
| Add access request with successful ack. More... | |
| void | EndTest (void) |
| End test function. More... | |
| void | ExpectCollision (uint64_t time, uint32_t nSlots, uint32_t from) |
| Expect internal collision function. More... | |
| void | ExpectInternalCollision (uint64_t time, uint32_t nSlots, uint32_t from) |
| Expect internal collision function. More... | |
| void | StartTest (uint64_t slotTime, uint64_t sifs, uint64_t eifsNoDifsNoSifs, uint32_t ackTimeoutValue=20) |
| Start test function. More... | |
Private Attributes | |
| uint32_t | m_ackTimeoutValue |
| the ack timeout value More... | |
| Ptr< ChannelAccessManager > | m_ChannelAccessManager |
| the DCF manager More... | |
| Ptr< MacLowStub > | m_low |
| the MAC low stubbed More... | |
| TxopTests | m_txop |
| the TXOP 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... | |
| TestCase * | GetParent () 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... | |
Dcf Manager Test.
Definition at line 115 of file channel-access-manager-test.cc.
|
private |
the TXOP tests typedef
Definition at line 268 of file channel-access-manager-test.cc.
| ChannelAccessManagerTest::ChannelAccessManagerTest | ( | ) |
Definition at line 343 of file channel-access-manager-test.cc.
|
private |
Add access function.
| at | the event time |
| txTime | the transmit time |
| expectedGrantTime | the expected grant time |
| from |
Definition at line 533 of file channel-access-manager-test.cc.
References AddAccessRequestWithSuccessfullAck(), and TxopTest::ExpectedCollision::at.
Referenced by DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Add access request with ack timeout.
| at | time to schedule DoAccessRequest event |
| txTime | DoAccessRequest txTime |
| expectedGrantTime | DoAccessRequest expectedGrantTime |
| from | DoAccessRequest TxopTest |
Definition at line 540 of file channel-access-manager-test.cc.
References TxopTest::ExpectedCollision::at, DoAccessRequest(), m_txop, ns3::MicroSeconds(), and ns3::Now().
Referenced by DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Add access request with successful ack.
| at | time to schedule DoAccessRequest event |
| txTime | DoAccessRequest txTime |
| expectedGrantTime | DoAccessRequest expectedGrantTime |
| ackDelay | is delay of the ack after txEnd |
| from | DoAccessRequest TxopTest |
Definition at line 549 of file channel-access-manager-test.cc.
References AddAckTimeoutReset(), TxopTest::ExpectedCollision::at, DoAccessRequest(), m_ackTimeoutValue, m_txop, ns3::MicroSeconds(), 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:
|
private |
Add ack timeout reset function.
| at | the event time |
Definition at line 526 of file channel-access-manager-test.cc.
References TxopTest::ExpectedCollision::at, m_ChannelAccessManager, ns3::MicroSeconds(), and ns3::Now().
Referenced by AddAccessRequestWithSuccessfullAck().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Add CCA busy event function.
| at | the event time |
| duration | the duration |
Definition at line 567 of file channel-access-manager-test.cc.
References TxopTest::ExpectedCollision::at, m_ChannelAccessManager, ns3::MicroSeconds(), and ns3::Now().
Referenced by DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Add DCF state function.
| aifsn | the AIFSN |
Definition at line 445 of file channel-access-manager-test.cc.
References ns3::ChannelAccessManager::Add(), m_ChannelAccessManager, m_txop, and ns3::Txop::SetAifsn().
Referenced by DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Add NAV reset function.
| at | the event time |
| duration | the duration |
Definition at line 510 of file channel-access-manager-test.cc.
References TxopTest::ExpectedCollision::at, m_ChannelAccessManager, ns3::MicroSeconds(), and ns3::Now().
Referenced by DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Add NAV start function.
| at | the event time |
| duration | the duration |
Definition at line 518 of file channel-access-manager-test.cc.
References TxopTest::ExpectedCollision::at, m_ChannelAccessManager, ns3::MicroSeconds(), and ns3::Now().
Referenced by DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Add receive error event function.
| at | the event time |
| duration | the duration |
Definition at line 500 of file channel-access-manager-test.cc.
References TxopTest::ExpectedCollision::at, m_ChannelAccessManager, ns3::MicroSeconds(), and ns3::Now().
Referenced by DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Add receive inside SIFS event function.
| at | the event time |
| duration | the duration |
Definition at line 492 of file channel-access-manager-test.cc.
References TxopTest::ExpectedCollision::at, m_ChannelAccessManager, ns3::MicroSeconds(), and ns3::Now().
Referenced by DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Add expect collision function.
| at | |
| duration | the duration |
Definition at line 482 of file channel-access-manager-test.cc.
References TxopTest::ExpectedCollision::at, m_ChannelAccessManager, ns3::MicroSeconds(), and ns3::Now().
Referenced by DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Add receive start event function.
| at | the event time |
| duration | the duration |
Definition at line 583 of file channel-access-manager-test.cc.
References TxopTest::ExpectedCollision::at, m_ChannelAccessManager, ns3::MicroSeconds(), and ns3::Now().
Referenced by DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Add switching event function.
| at | the event time |
| duration | the duration |
Definition at line 575 of file channel-access-manager-test.cc.
References TxopTest::ExpectedCollision::at, m_ChannelAccessManager, ns3::MicroSeconds(), and ns3::Now().
Referenced by DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Add transmit event function.
| at | the event time |
| duration | the duration |
Definition at line 364 of file channel-access-manager-test.cc.
References m_ChannelAccessManager, ns3::MicroSeconds(), and ns3::Now().
Referenced by DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Add access request with successful ack.
| txTime | DoAccessRequest txTime |
| expectedGrantTime | DoAccessRequest expectedGrantTime |
| state | TxopTest |
Definition at line 560 of file channel-access-manager-test.cc.
References m_ChannelAccessManager, TxopTest::QueueTx(), and ns3::ChannelAccessManager::RequestAccess().
Referenced by AddAccessRequestWithAckTimeout(), and AddAccessRequestWithSuccessfullAck().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Definition at line 591 of file channel-access-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:
|
private |
End test function.
Definition at line 454 of file channel-access-manager-test.cc.
References ns3::Object::Dispose(), m_ChannelAccessManager, TxopTest::m_expectedCollision, TxopTest::m_expectedGrants, TxopTest::m_expectedInternalCollision, m_low, m_txop, and NS_TEST_EXPECT_MSG_EQ.
Referenced by DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Expect internal collision function.
| time | the expectedtime |
| nSlots | the number of slots |
| from | the expected from |
Definition at line 423 of file channel-access-manager-test.cc.
References TxopTest::ExpectedCollision::at, TxopTest::m_expectedCollision, m_txop, and TxopTest::ExpectedCollision::nSlots.
Referenced by DoRun().
Here is the caller graph for this function:
|
private |
Expect internal collision function.
| time | the expectedtime |
| nSlots | the number of slots |
| from | the expected from |
Definition at line 413 of file channel-access-manager-test.cc.
References TxopTest::ExpectedCollision::at, TxopTest::m_expectedInternalCollision, m_txop, and TxopTest::ExpectedCollision::nSlots.
Referenced by DoRun().
Here is the caller graph for this function:| void ChannelAccessManagerTest::NotifyAccessGranted | ( | uint32_t | i | ) |
Notify access granted function.
| i | the DCF state |
Definition at line 349 of file channel-access-manager-test.cc.
References m_ackTimeoutValue, m_ChannelAccessManager, TxopTest::m_expectedGrants, m_txop, ns3::MicroSeconds(), ns3::ChannelAccessManager::NotifyAckTimeoutStartNow(), ns3::ChannelAccessManager::NotifyTxStartNow(), ns3::Now(), and NS_TEST_EXPECT_MSG_EQ.
Referenced by TxopTest::NotifyAccessGranted().
Here is the call graph for this function:
Here is the caller graph for this function:| void ChannelAccessManagerTest::NotifyChannelSwitching | ( | uint32_t | i | ) |
Notify channel switching function.
| i | the DCF state |
Definition at line 400 of file channel-access-manager-test.cc.
References TxopTest::m_accessRequested, TxopTest::m_expectedGrants, m_txop, ns3::MicroSeconds(), ns3::Now(), and NS_TEST_EXPECT_MSG_EQ.
Referenced by TxopTest::NotifyChannelSwitching().
Here is the call graph for this function:
Here is the caller graph for this function:| void ChannelAccessManagerTest::NotifyCollision | ( | uint32_t | i | ) |
Notify collision function.
| i | the DCF state |
Definition at line 386 of file channel-access-manager-test.cc.
References TxopTest::ExpectedCollision::at, TxopTest::m_expectedCollision, m_txop, ns3::MicroSeconds(), ns3::Now(), NS_TEST_EXPECT_MSG_EQ, TxopTest::ExpectedCollision::nSlots, and ns3::Txop::StartBackoffNow().
Referenced by TxopTest::NotifyCollision().
Here is the call graph for this function:
Here is the caller graph for this function:| void ChannelAccessManagerTest::NotifyInternalCollision | ( | uint32_t | i | ) |
Notify internal collision function.
| i | the DCF state |
Definition at line 372 of file channel-access-manager-test.cc.
References TxopTest::ExpectedCollision::at, TxopTest::m_expectedInternalCollision, m_txop, ns3::MicroSeconds(), ns3::Now(), NS_TEST_EXPECT_MSG_EQ, TxopTest::ExpectedCollision::nSlots, and ns3::Txop::StartBackoffNow().
Referenced by TxopTest::NotifyInternalCollision().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Start test function.
| slotTime | the slot time |
| sifs | the SIFS |
| eifsNoDifsNoSifs | the EIFS no DIFS no SIFS |
| ackTimeoutValue | the ack timeout value |
Definition at line 433 of file channel-access-manager-test.cc.
References m_ackTimeoutValue, m_ChannelAccessManager, m_low, ns3::MicroSeconds(), ns3::ChannelAccessManager::SetEifsNoDifs(), ns3::ChannelAccessManager::SetSifs(), ns3::ChannelAccessManager::SetSlot(), and ns3::ChannelAccessManager::SetupLow().
Referenced by DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
the ack timeout value
Definition at line 273 of file channel-access-manager-test.cc.
Referenced by AddAccessRequestWithSuccessfullAck(), NotifyAccessGranted(), and StartTest().
|
private |
the DCF manager
Definition at line 271 of file channel-access-manager-test.cc.
Referenced by AddAckTimeoutReset(), AddCcaBusyEvt(), AddDcfState(), AddNavReset(), AddNavStart(), AddRxErrorEvt(), AddRxInsideSifsEvt(), AddRxOkEvt(), AddRxStartEvt(), AddSwitchingEvt(), AddTxEvt(), DoAccessRequest(), EndTest(), NotifyAccessGranted(), and StartTest().
|
private |
the MAC low stubbed
Definition at line 270 of file channel-access-manager-test.cc.
Referenced by EndTest(), and StartTest().
|
private |
the TXOP
Definition at line 272 of file channel-access-manager-test.cc.
Referenced by AddAccessRequestWithAckTimeout(), AddAccessRequestWithSuccessfullAck(), AddDcfState(), EndTest(), ExpectCollision(), ExpectInternalCollision(), NotifyAccessGranted(), NotifyChannelSwitching(), NotifyCollision(), and NotifyInternalCollision().