Public Member Functions | |
Dcf (EdcaTxopN *txop) | |
Public Member Functions inherited from ns3::DcfState | |
DcfState () | |
virtual | ~DcfState () |
uint32_t | GetAifsn (void) const |
Return the number of slots that make up an AIFS. More... | |
uint32_t | GetCw (void) const |
uint32_t | GetCwMax (void) const |
Return the maximum congestion window size. More... | |
uint32_t | GetCwMin (void) const |
Return the minimum congestion window size. More... | |
bool | IsAccessRequested (void) const |
void | ResetCw (void) |
Update the value of the CW variable to take into account a transmission success or a transmission abort (stop transmission of a packet after the maximum number of retransmissions has been reached). More... | |
void | SetAifsn (uint32_t aifsn) |
void | SetCwMax (uint32_t maxCw) |
Set the maximum congestion window size. More... | |
void | SetCwMin (uint32_t minCw) |
Set the minimum congestion window size. More... | |
void | StartBackoffNow (uint32_t nSlots) |
void | UpdateFailedCw (void) |
Update the value of the CW variable to take into account a transmission failure. More... | |
Private Member Functions | |
virtual void | DoNotifyAccessGranted (void) |
Called by DcfManager to notify a DcfState subclass that access to the medium is granted and can start immediately. More... | |
virtual void | DoNotifyChannelSwitching (void) |
Called by DcfManager to notify a DcfState subclass that a channel switching occured. More... | |
virtual void | DoNotifyCollision (void) |
Called by DcfManager to notify a DcfState subclass that a normal collision occured, that is, that the medium was busy when access was requested. More... | |
virtual void | DoNotifyInternalCollision (void) |
Called by DcfManager to notify a DcfState subclass that an 'internal' collision occured, that is, that the backoff timer of a higher priority DcfState expired at the same time and that access was granted to this higher priority DcfState. More... | |
Private Attributes | |
EdcaTxopN * | m_txop |
Definition at line 45 of file edca-txop-n.cc.
|
inline |
Definition at line 48 of file edca-txop-n.cc.
|
inlineprivatevirtual |
Called by DcfManager to notify a DcfState subclass that access to the medium is granted and can start immediately.
Implements ns3::DcfState.
Definition at line 53 of file edca-txop-n.cc.
References m_txop, and ns3::EdcaTxopN::NotifyAccessGranted().
|
inlineprivatevirtual |
Called by DcfManager to notify a DcfState subclass that a channel switching occured.
The subclass is expected to flush the queue of packets.
Implements ns3::DcfState.
Definition at line 65 of file edca-txop-n.cc.
References m_txop, and ns3::EdcaTxopN::NotifyChannelSwitching().
|
inlineprivatevirtual |
Called by DcfManager to notify a DcfState subclass that a normal collision occured, that is, that the medium was busy when access was requested.
The subclass is expected to start a new backoff by calling DcfState::StartBackoffNow and DcfManager::RequestAccess is access is still needed.
Implements ns3::DcfState.
Definition at line 61 of file edca-txop-n.cc.
References m_txop, and ns3::EdcaTxopN::NotifyCollision().
|
inlineprivatevirtual |
Called by DcfManager to notify a DcfState subclass that an 'internal' collision occured, that is, that the backoff timer of a higher priority DcfState expired at the same time and that access was granted to this higher priority DcfState.
The subclass is expected to start a new backoff by calling DcfState::StartBackoffNow and DcfManager::RequestAccess is access is still needed.
Implements ns3::DcfState.
Definition at line 57 of file edca-txop-n.cc.
References m_txop, and ns3::EdcaTxopN::NotifyInternalCollision().
|
private |
Definition at line 69 of file edca-txop-n.cc.
Referenced by DoNotifyAccessGranted(), DoNotifyChannelSwitching(), DoNotifyCollision(), and DoNotifyInternalCollision().