Channel Access Manager Test. More...
Collaboration diagram for ChannelAccessManagerTest< TxopType >:Public Member Functions | |
| ChannelAccessManagerTest () | |
| void | DoRun (void) |
| void | DoRun (void) |
| void | DoRun (void) override |
| void | GenerateBackoff (uint32_t i) |
| Generate backoff function. More... | |
| void | NotifyAccessGranted (uint32_t i) |
| Notify access granted function. More... | |
| void | NotifyChannelSwitching (uint32_t i) |
| Notify channel switching function. More... | |
| void | NotifyInternalCollision (Ptr< TxopTest< TxopType >> state) |
| Notify internal collision function. More... | |
Private Types | |
| typedef std::vector< Ptr< TxopTest< TxopType > > > | 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 | 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 for error at end of frame. More... | |
| void | AddRxErrorEvt (uint64_t at, uint64_t duration, uint64_t timeUntilError) |
| Add receive error event function for error during frame. 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 receive OK event 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 | AddTxop (uint32_t aifsn) |
| Add Txop function. More... | |
| void | DoAccessRequest (uint64_t txTime, uint64_t expectedGrantTime, Ptr< TxopTest< TxopType >> state) |
| Add access request with successful Ack. More... | |
| void | DoCheckBusy (bool busy) |
| Perform check that channel access manager is busy or idle. More... | |
| void | EndTest (void) |
| End test function. More... | |
| void | ExpectBackoff (uint64_t time, uint32_t nSlots, uint32_t from) |
| Expect generate backoff function. More... | |
| void | ExpectBusy (uint64_t time, bool busy) |
| Schedule a check that the channel access manager is busy or idle. 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< ChannelAccessManagerStub > | m_ChannelAccessManager |
| the channel access manager More... | |
| Ptr< FrameExchangeManagerStub< TxopType > > | m_feManager |
| the Frame Exchange Manager stubbed More... | |
| TxopTests | m_txop |
| the vector of Txop test instances More... | |
Channel Access Manager Test.
Definition at line 208 of file channel-access-manager-test.cc.
|
private |
the TXOP tests typedef
Definition at line 379 of file channel-access-manager-test.cc.
| ChannelAccessManagerTest< TxopType >::ChannelAccessManagerTest |
Definition at line 451 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 | the index of the requesting Txop |
Definition at line 678 of file channel-access-manager-test.cc.
|
private |
Add access request with Ack timeout.
| at | time to schedule DoAccessRequest event |
| txTime | the transmit time |
| expectedGrantTime | the expected grant time |
| from | the index of the requesting Txop |
Definition at line 686 of file channel-access-manager-test.cc.
References ChannelAccessManagerTest< TxopType >::DoAccessRequest(), ns3::MicroSeconds(), and ns3::Now().
Here is the call graph for this function:
|
private |
Add access request with successful ack.
| at | time to schedule DoAccessRequest event |
| txTime | the transmit time |
| expectedGrantTime | the expected grant time |
| ackDelay | the delay of the Ack after txEnd |
| from | the index of the requesting Txop |
Definition at line 696 of file channel-access-manager-test.cc.
References ChannelAccessManagerTest< TxopType >::DoAccessRequest(), ns3::MicroSeconds(), ns3::Now(), and NS_ASSERT.
Here is the call graph for this function:
|
private |
Add Ack timeout reset function.
| at | the event time |
Definition at line 670 of file channel-access-manager-test.cc.
References ns3::MicroSeconds(), and ns3::Now().
Here is the call graph for this function:
|
private |
Add CCA busy event function.
| at | the event time |
| duration | the duration |
Definition at line 721 of file channel-access-manager-test.cc.
References ns3::MicroSeconds(), and ns3::Now().
Here is the call graph for this function:
|
private |
Add NAV reset function.
| at | the event time |
| duration | the duration |
Definition at line 652 of file channel-access-manager-test.cc.
References ns3::MicroSeconds(), and ns3::Now().
Here is the call graph for this function:
|
private |
Add NAV start function.
| at | the event time |
| duration | the duration |
Definition at line 661 of file channel-access-manager-test.cc.
References ns3::MicroSeconds(), and ns3::Now().
Here is the call graph for this function:
|
private |
Add receive error event function for error at end of frame.
| at | the event time |
| duration | the duration |
Definition at line 629 of file channel-access-manager-test.cc.
References ns3::MicroSeconds(), and ns3::Now().
Here is the call graph for this function:
|
private |
Add receive error event function for error during frame.
| at | the event time |
| duration | the duration |
| timeUntilError | the time after event time to force the error |
Definition at line 640 of file channel-access-manager-test.cc.
References ns3::MicroSeconds(), and ns3::Now().
Here is the call graph for this function:
|
private |
Add receive inside SIFS event function.
| at | the event time |
| duration | the duration |
Definition at line 620 of file channel-access-manager-test.cc.
References ns3::MicroSeconds(), and ns3::Now().
Here is the call graph for this function:
|
private |
Add receive OK event function.
| at | the event time |
| duration | the duration |
Definition at line 609 of file channel-access-manager-test.cc.
References ns3::MicroSeconds(), and ns3::Now().
Here is the call graph for this function:
|
private |
Add receive start event function.
| at | the event time |
| duration | the duration |
Definition at line 739 of file channel-access-manager-test.cc.
References ns3::MicroSeconds(), and ns3::Now().
Here is the call graph for this function:
|
private |
Add switching event function.
| at | the event time |
| duration | the duration |
Definition at line 730 of file channel-access-manager-test.cc.
References ns3::MicroSeconds(), and ns3::Now().
Here is the call graph for this function:
|
private |
Add transmit event function.
| at | the event time |
| duration | the duration |
Definition at line 474 of file channel-access-manager-test.cc.
References ns3::MicroSeconds(), and ns3::Now().
Here is the call graph for this function:
|
private |
Add Txop function.
| aifsn | the AIFSN |
Definition at line 576 of file channel-access-manager-test.cc.
|
private |
Add access request with successful Ack.
| txTime | the transmit time |
| expectedGrantTime | the expected grant time |
| state | TxopTest |
Definition at line 708 of file channel-access-manager-test.cc.
Referenced by ChannelAccessManagerTest< TxopType >::AddAccessRequestWithAckTimeout(), and ChannelAccessManagerTest< TxopType >::AddAccessRequestWithSuccessfullAck().
Here is the caller graph for this function:
|
private |
Perform check that channel access manager is busy or idle.
| busy | whether expected state is busy |
Definition at line 556 of file channel-access-manager-test.cc.
References NS_TEST_EXPECT_MSG_EQ.
Referenced by ChannelAccessManagerTest< TxopType >::ExpectBusy().
Here is the caller graph for this function:| void ChannelAccessManagerTest< Txop >::DoRun | ( | void | ) |
Definition at line 751 of file channel-access-manager-test.cc.
| void ChannelAccessManagerTest< QosTxop >::DoRun | ( | void | ) |
Definition at line 1093 of file channel-access-manager-test.cc.
|
override |
|
private |
End test function.
Definition at line 586 of file channel-access-manager-test.cc.
References NS_TEST_EXPECT_MSG_EQ.
|
private |
Expect generate backoff function.
| time | the expected time |
| nSlots | the number of slots |
| from | the expected from |
Definition at line 537 of file channel-access-manager-test.cc.
References TxopTest< TxopType >::m_expectedBackoff.
|
private |
Schedule a check that the channel access manager is busy or idle.
| time | the expected time |
| busy | whether the manager is expected to be busy |
Definition at line 548 of file channel-access-manager-test.cc.
References ChannelAccessManagerTest< TxopType >::DoCheckBusy(), ns3::MicroSeconds(), and ns3::Now().
Here is the call graph for this function:
|
private |
Expect internal collision function.
| time | the expected time |
| nSlots | the number of slots |
| from | the expected from |
Definition at line 526 of file channel-access-manager-test.cc.
References TxopTest< TxopType >::m_expectedInternalCollision.
| void ChannelAccessManagerTest< TxopType >::GenerateBackoff | ( | uint32_t | i | ) |
Generate backoff function.
| i | the index of the Txop |
Definition at line 497 of file channel-access-manager-test.cc.
References TxopTest< TxopType >::m_expectedBackoff, and NS_TEST_EXPECT_MSG_EQ.
| void ChannelAccessManagerTest< TxopType >::NotifyAccessGranted | ( | uint32_t | i | ) |
Notify access granted function.
| i | the index of the Txop |
Definition at line 458 of file channel-access-manager-test.cc.
References ns3::MicroSeconds(), ns3::Now(), and NS_TEST_EXPECT_MSG_EQ.
Here is the call graph for this function:| void ChannelAccessManagerTest< TxopType >::NotifyChannelSwitching | ( | uint32_t | i | ) |
Notify channel switching function.
| i | the index of the Txop |
Definition at line 512 of file channel-access-manager-test.cc.
References ns3::MicroSeconds(), ns3::Now(), and NS_TEST_EXPECT_MSG_EQ.
Here is the call graph for this function:| void ChannelAccessManagerTest< TxopType >::NotifyInternalCollision | ( | Ptr< TxopTest< TxopType >> | state | ) |
Notify internal collision function.
| state | the Txop |
Definition at line 483 of file channel-access-manager-test.cc.
References TxopTest< TxopType >::m_expectedInternalCollision, and NS_TEST_EXPECT_MSG_EQ.
|
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 563 of file channel-access-manager-test.cc.
References ns3::MicroSeconds().
Here is the call graph for this function:
|
private |
the Ack timeout value
Definition at line 384 of file channel-access-manager-test.cc.
|
private |
the channel access manager
Definition at line 382 of file channel-access-manager-test.cc.
|
private |
the Frame Exchange Manager stubbed
Definition at line 381 of file channel-access-manager-test.cc.
|
private |
the vector of Txop test instances
Definition at line 383 of file channel-access-manager-test.cc.