A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::MacLowTransmissionListener Class Referenceabstract

listen to events coming from ns3::MacLow. More...

#include <mac-low.h>

+ Inheritance diagram for ns3::MacLowTransmissionListener:

Public Member Functions

 MacLowTransmissionListener ()
 
virtual ~MacLowTransmissionListener ()
 
virtual void Cancel (void)=0
 Invoked if this transmission was canceled one way or another. More...
 
virtual void EndTxNoAck (void)=0
 Invoked upon the end of the transmission of a frame that does not require an ACK (e.g., broadcast and multicast frames). More...
 
virtual void GotAck (double snr, WifiMode txMode)=0
 
virtual void GotBlockAck (const CtrlBAckResponseHeader *blockAck, Mac48Address source)
 
virtual void GotCts (double snr, WifiMode txMode)=0
 
virtual void MissedAck (void)=0
 ns3::MacLow did not receive an expected ACK within AckTimeout. More...
 
virtual void MissedBlockAck (void)
 ns3::MacLow did not receive an expected BLOCK_ACK within BlockAckTimeout. More...
 
virtual void MissedCts (void)=0
 ns3::MacLow did not receive an expected CTS within CtsTimeout. More...
 
virtual void StartNext (void)=0
 Invoked when ns3::MacLow wants to start a new transmission as configured by MacLowTransmissionParameters::EnableNextData. More...
 

Detailed Description

listen to events coming from ns3::MacLow.

Definition at line 56 of file mac-low.h.

Constructor & Destructor Documentation

ns3::MacLowTransmissionListener::MacLowTransmissionListener ( )

Definition at line 46 of file mac-low.cc.

ns3::MacLowTransmissionListener::~MacLowTransmissionListener ( )
virtual

Definition at line 49 of file mac-low.cc.

Member Function Documentation

virtual void ns3::MacLowTransmissionListener::Cancel ( void  )
pure virtual

Invoked if this transmission was canceled one way or another.

When this method is invoked, you can assume that the packet has not been passed down the stack to the PHY.

Implemented in ns3::DcaTxop::TransmissionListener, and ns3::EdcaTxopN::TransmissionListener.

Referenced by ns3::MacLow::CancelAllEvents().

+ Here is the caller graph for this function:

virtual void ns3::MacLowTransmissionListener::EndTxNoAck ( void  )
pure virtual

Invoked upon the end of the transmission of a frame that does not require an ACK (e.g., broadcast and multicast frames).

Implemented in ns3::DcaTxop::TransmissionListener, and ns3::EdcaTxopN::TransmissionListener.

Referenced by ns3::MacLow::EndTxNoAck().

+ Here is the caller graph for this function:

virtual void ns3::MacLowTransmissionListener::GotAck ( double  snr,
WifiMode  txMode 
)
pure virtual
Parameters
snrthe snr of the ack
txModethe transmission mode of the ack

ns3::MacLow received an expected ACL within AckTimeout. The snr and txMode arguments are not valid when SUPER_FAST_ACK is used.

Implemented in ns3::DcaTxop::TransmissionListener, and ns3::EdcaTxopN::TransmissionListener.

Referenced by ns3::MacLow::ReceiveOk(), and ns3::MacLow::SuperFastAckTimeout().

+ Here is the caller graph for this function:

void ns3::MacLowTransmissionListener::GotBlockAck ( const CtrlBAckResponseHeader blockAck,
Mac48Address  source 
)
virtual
Parameters
blockAckBlock ack response header
sourceAddress of block ack sender

Invoked when ns3::MacLow receives a block ack frame. Block ack frame is received after a block ack request and contains information about the correct reception of a set of packet for which a normal ack wasn't send. Default implementation for this method is empty. Every queue that intends to be notified by MacLow of reception of a block ack must redefine this function.

Reimplemented in ns3::EdcaTxopN::TransmissionListener.

Definition at line 53 of file mac-low.cc.

Referenced by ns3::MacLow::ReceiveOk().

+ Here is the caller graph for this function:

virtual void ns3::MacLowTransmissionListener::GotCts ( double  snr,
WifiMode  txMode 
)
pure virtual
Parameters
snrthe snr of the cts
txModethe txMode of the cts

ns3::MacLow received an expected CTS within CtsTimeout.

Implemented in ns3::DcaTxop::TransmissionListener, and ns3::EdcaTxopN::TransmissionListener.

Referenced by ns3::MacLow::ReceiveOk().

+ Here is the caller graph for this function:

virtual void ns3::MacLowTransmissionListener::MissedAck ( void  )
pure virtual

ns3::MacLow did not receive an expected ACK within AckTimeout.

Implemented in ns3::DcaTxop::TransmissionListener, and ns3::EdcaTxopN::TransmissionListener.

Referenced by ns3::MacLow::FastAckFailedTimeout(), ns3::MacLow::FastAckTimeout(), ns3::MacLow::NormalAckTimeout(), and ns3::MacLow::SuperFastAckTimeout().

+ Here is the caller graph for this function:

void ns3::MacLowTransmissionListener::MissedBlockAck ( void  )
virtual

ns3::MacLow did not receive an expected BLOCK_ACK within BlockAckTimeout.

This method is used only for immediate block ack variant. With delayed block ack, the MissedAck method will be called instead: upon receipt of a block ack request, the rx station will reply with a normal ack frame. Later, when the rx station gets a txop, it will send the block ack back to the tx station which will reply with a normal ack to the rx station.

Reimplemented in ns3::EdcaTxopN::TransmissionListener.

Definition at line 58 of file mac-low.cc.

Referenced by ns3::MacLow::BlockAckTimeout().

+ Here is the caller graph for this function:

virtual void ns3::MacLowTransmissionListener::MissedCts ( void  )
pure virtual

ns3::MacLow did not receive an expected CTS within CtsTimeout.

Implemented in ns3::DcaTxop::TransmissionListener, and ns3::EdcaTxopN::TransmissionListener.

Referenced by ns3::MacLow::CtsTimeout().

+ Here is the caller graph for this function:

virtual void ns3::MacLowTransmissionListener::StartNext ( void  )
pure virtual

Invoked when ns3::MacLow wants to start a new transmission as configured by MacLowTransmissionParameters::EnableNextData.

The listener is expected to call again MacLow::StartTransmission with the "next" data to send.

Implemented in ns3::DcaTxop::TransmissionListener, and ns3::EdcaTxopN::TransmissionListener.

Referenced by ns3::MacLow::WaitSifsAfterEndTx().

+ Here is the caller graph for this function:


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