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

Constructor & Destructor Documentation

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

Definition at line 49 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 60 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 72 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.

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 68 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 64 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 76 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 80 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 54 of file edca-txop-n.cc.

Member Data Documentation


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