A Discrete-Event Network Simulator
API
ns3::EdcaTxopN::Dcf Class Reference
+ Inheritance diagram for ns3::EdcaTxopN::Dcf:
+ Collaboration diagram for ns3::EdcaTxopN::Dcf:

Public Member Functions

 Dcf (EdcaTxopN *txop)
 
virtual bool IsEdca (void) const
 
- 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...
 
Time GetTxopLimit (void) const
 Return the TXOP limit. 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 SetTxopLimit (Time txopLimit)
 Set the TXOP limit. 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...
 
virtual void DoNotifySleep (void)
 Called by DcfManager to notify a DcfState subclass that the device has begun to sleep. More...
 
virtual void DoNotifyWakeUp (void)
 Called by DcfManager to notify a DcfState subclass that the device has begun to wake up. More...
 

Private Attributes

EdcaTxopNm_txop
 

Detailed Description

Definition at line 47 of file edca-txop-n.cc.

Constructor & Destructor Documentation

ns3::EdcaTxopN::Dcf::Dcf ( EdcaTxopN txop)
inline

Definition at line 50 of file edca-txop-n.cc.

Member Function Documentation

virtual void ns3::EdcaTxopN::Dcf::DoNotifyAccessGranted ( void  )
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 61 of file edca-txop-n.cc.

References m_txop, and ns3::EdcaTxopN::NotifyAccessGranted().

+ Here is the call graph for this function:

virtual void ns3::EdcaTxopN::Dcf::DoNotifyChannelSwitching ( void  )
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 73 of file edca-txop-n.cc.

References m_txop, and ns3::EdcaTxopN::NotifyChannelSwitching().

+ Here is the call graph for this function:

virtual void ns3::EdcaTxopN::Dcf::DoNotifyCollision ( void  )
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.

This may also be called if the request for access occurred within the DIFS or AIFS between two frames.

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 69 of file edca-txop-n.cc.

References m_txop, and ns3::EdcaTxopN::NotifyCollision().

+ Here is the call graph for this function:

virtual void ns3::EdcaTxopN::Dcf::DoNotifyInternalCollision ( void  )
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 65 of file edca-txop-n.cc.

References m_txop, and ns3::EdcaTxopN::NotifyInternalCollision().

+ Here is the call graph for this function:

virtual void ns3::EdcaTxopN::Dcf::DoNotifySleep ( void  )
inlineprivatevirtual

Called by DcfManager to notify a DcfState subclass that the device has begun to sleep.

The subclass is expected to re-insert the pending packet into the queue

Implements ns3::DcfState.

Definition at line 77 of file edca-txop-n.cc.

References m_txop, and ns3::EdcaTxopN::NotifySleep().

+ Here is the call graph for this function:

virtual void ns3::EdcaTxopN::Dcf::DoNotifyWakeUp ( void  )
inlineprivatevirtual

Called by DcfManager to notify a DcfState subclass that the device has begun to wake up.

The subclass is expected to restart a new backoff by calling DcfState::StartBackoffNow and DcfManager::RequestAccess is access is still needed.

Implements ns3::DcfState.

Definition at line 81 of file edca-txop-n.cc.

References m_txop, and ns3::EdcaTxopN::NotifyWakeUp().

+ Here is the call graph for this function:

virtual bool ns3::EdcaTxopN::Dcf::IsEdca ( void  ) const
inlinevirtual
Returns
whether this DCF state is an EDCA state

This method, which must be overridden in derived classes, indicates whether DCF or EDCAF rules should be used for this channel access function. This affects the behavior of DcfManager when dealing with this instance.

Implements ns3::DcfState.

Definition at line 55 of file edca-txop-n.cc.

Member Data Documentation


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