listen to events coming from ns3::MacLow. More...
#include <mac-low.h>
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... | |
listen to events coming from ns3::MacLow.
ns3::MacLowTransmissionListener::MacLowTransmissionListener | ( | ) |
Definition at line 46 of file mac-low.cc.
|
virtual |
Definition at line 49 of file mac-low.cc.
|
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().
|
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().
|
pure virtual |
snr | the snr of the ack |
txMode | the 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().
|
virtual |
blockAck | Block ack response header |
source | Address 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().
|
pure virtual |
snr | the snr of the cts |
txMode | the 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().
|
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().
|
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().
|
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().
|
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().