A Discrete-Event Network Simulator
API
TxopTest< TxopType > Class Template Reference

TxopTest Txop Test. More...

+ Inheritance diagram for TxopTest< TxopType >:
+ Collaboration diagram for TxopTest< TxopType >:

Classes

struct  ExpectedBackoff
 ExpectedBackoff structure. More...
 

Public Member Functions

 TxopTest (ChannelAccessManagerTest< TxopType > *test, uint32_t i)
 Constructor. More...
 
void QueueTx (uint64_t txTime, uint64_t expectedGrantTime)
 Queue transmit function. More...
 

Private Types

typedef std::list< struct ExpectedBackoffExpectedBackoffs
 expected backoffs typedef More...
 
typedef std::pair< uint64_t, uint64_t > ExpectedGrant
 the expected grant typedef More...
 
typedef std::list< ExpectedGrantExpectedGrants
 the collection of expected grants typedef More...
 

Private Member Functions

void DoDispose (void) override
 Destructor implementation. More...
 
void GenerateBackoff (void) override
 Generate a new backoff now. More...
 
bool HasFramesToTransmit (void) override
 Check if the Txop has frames to transmit. More...
 
void NotifyChannelAccessed (Time txopDuration=Seconds(0)) override
 Called by the FrameExchangeManager to notify that channel access has been granted for the given amount of time. More...
 
void NotifyChannelSwitching (void) override
 When a channel switching occurs, enqueued packets are removed. More...
 
void NotifyInternalCollision (void) override
 Notify the Txop that internal collision has occurred. More...
 
void NotifySleep (void) override
 When sleep operation occurs, if there is a pending packet transmission, it will be reinserted to the front of the queue. More...
 
void NotifyWakeUp (void) override
 When wake up operation occurs, channel access will be restarted. More...
 

Private Attributes

ExpectedBackoffs m_expectedBackoff
 expected backoff (not due to an internal collision) More...
 
ExpectedGrants m_expectedGrants
 expected grants More...
 
ExpectedBackoffs m_expectedInternalCollision
 expected backoff due to an internal collision More...
 
uint32_t m_i
 the index of the Txop More...
 
ChannelAccessManagerTest< TxopType > * m_test
 Check if the Txop has frames to transmit. More...
 

Friends

class ChannelAccessManagerTest< TxopType >
 allow ChannelAccessManagerTest class access More...
 

Detailed Description

template<typename TxopType>
class TxopTest< TxopType >

TxopTest Txop Test.

Definition at line 39 of file channel-access-manager-test.cc.

Member Typedef Documentation

◆ ExpectedBackoffs

template<typename TxopType >
typedef std::list<struct ExpectedBackoff> TxopTest< TxopType >::ExpectedBackoffs
private

expected backoffs typedef

Definition at line 86 of file channel-access-manager-test.cc.

◆ ExpectedGrant

template<typename TxopType >
typedef std::pair<uint64_t,uint64_t> TxopTest< TxopType >::ExpectedGrant
private

the expected grant typedef

Definition at line 78 of file channel-access-manager-test.cc.

◆ ExpectedGrants

template<typename TxopType >
typedef std::list<ExpectedGrant> TxopTest< TxopType >::ExpectedGrants
private

the collection of expected grants typedef

Definition at line 79 of file channel-access-manager-test.cc.

Constructor & Destructor Documentation

◆ TxopTest()

template<typename TxopType >
TxopTest< TxopType >::TxopTest ( ChannelAccessManagerTest< TxopType > *  test,
uint32_t  i 
)

Constructor.

Parameters
testthe test channel access manager
ithe index of the Txop

Definition at line 382 of file channel-access-manager-test.cc.

Member Function Documentation

◆ DoDispose()

template<typename TxopType >
void TxopTest< TxopType >::DoDispose ( void  )
overrideprivate

Destructor implementation.

This method is called by Dispose() or by the Object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overridden version of this method and chain up to their parent's implementation once they are done. i.e, for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose() method.

It is safe to call GetObject() from within this method.

Definition at line 390 of file channel-access-manager-test.cc.

◆ GenerateBackoff()

template<typename TxopType >
void TxopTest< TxopType >::GenerateBackoff ( void  )
overrideprivate

Generate a new backoff now.

Definition at line 413 of file channel-access-manager-test.cc.

◆ HasFramesToTransmit()

template<typename TxopType >
bool TxopTest< TxopType >::HasFramesToTransmit ( void  )
overrideprivate

Check if the Txop has frames to transmit.

Returns
true if the Txop has frames to transmit.

Definition at line 420 of file channel-access-manager-test.cc.

◆ NotifyChannelAccessed()

template<typename TxopType >
void TxopTest< TxopType >::NotifyChannelAccessed ( Time  txopDuration = Seconds (0))
overrideprivate

Called by the FrameExchangeManager to notify that channel access has been granted for the given amount of time.

Parameters
txopDurationthe duration of the TXOP gained (zero for DCF)

Definition at line 398 of file channel-access-manager-test.cc.

◆ NotifyChannelSwitching()

template<typename TxopType >
void TxopTest< TxopType >::NotifyChannelSwitching ( void  )
overrideprivate

When a channel switching occurs, enqueued packets are removed.

Definition at line 427 of file channel-access-manager-test.cc.

◆ NotifyInternalCollision()

template<typename TxopType >
void TxopTest< TxopType >::NotifyInternalCollision ( void  )
overrideprivate

Notify the Txop that internal collision has occurred.

Definition at line 406 of file channel-access-manager-test.cc.

◆ NotifySleep()

template<typename TxopType >
void TxopTest< TxopType >::NotifySleep ( void  )
overrideprivate

When sleep operation occurs, if there is a pending packet transmission, it will be reinserted to the front of the queue.

Definition at line 434 of file channel-access-manager-test.cc.

◆ NotifyWakeUp()

template<typename TxopType >
void TxopTest< TxopType >::NotifyWakeUp ( void  )
overrideprivate

When wake up operation occurs, channel access will be restarted.

Definition at line 440 of file channel-access-manager-test.cc.

◆ QueueTx()

template<typename TxopType >
void TxopTest< TxopType >::QueueTx ( uint64_t  txTime,
uint64_t  expectedGrantTime 
)

Queue transmit function.

Parameters
txTimethe transmit time
expectedGrantTimethe expected grant time

Definition at line 376 of file channel-access-manager-test.cc.

Friends And Related Function Documentation

◆ ChannelAccessManagerTest< TxopType >

template<typename TxopType >
friend class ChannelAccessManagerTest< TxopType >
friend

allow ChannelAccessManagerTest class access

Definition at line 59 of file channel-access-manager-test.cc.

Member Data Documentation

◆ m_expectedBackoff

template<typename TxopType >
ExpectedBackoffs TxopTest< TxopType >::m_expectedBackoff
private

expected backoff (not due to an internal collision)

Definition at line 89 of file channel-access-manager-test.cc.

Referenced by ChannelAccessManagerTest< TxopType >::ExpectBackoff(), and ChannelAccessManagerTest< TxopType >::GenerateBackoff().

◆ m_expectedGrants

template<typename TxopType >
ExpectedGrants TxopTest< TxopType >::m_expectedGrants
private

expected grants

Definition at line 90 of file channel-access-manager-test.cc.

◆ m_expectedInternalCollision

template<typename TxopType >
ExpectedBackoffs TxopTest< TxopType >::m_expectedInternalCollision
private

◆ m_i

template<typename TxopType >
uint32_t TxopTest< TxopType >::m_i
private

the index of the Txop

Definition at line 98 of file channel-access-manager-test.cc.

◆ m_test

template<typename TxopType >
ChannelAccessManagerTest<TxopType>* TxopTest< TxopType >::m_test
private

Check if the Txop has frames to transmit.

Returns
true if the Txop has frames to transmit.the test DCF/EDCA manager

Definition at line 97 of file channel-access-manager-test.cc.


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