listen for block ack events. More...
#include "mac-low.h"
Public Member Functions | |
MacLowAggregationCapableTransmissionListener () | |
virtual | ~MacLowAggregationCapableTransmissionListener () |
virtual void | BlockAckInactivityTimeout (Mac48Address originator, uint8_t tid)=0 |
Typically is called in order to notify EdcaTxopN that a block ack inactivity timeout occurs for the block ack agreement identified by the pair originator, tid. More... | |
virtual void | CompleteMpduTx (Ptr< const Packet > packet, WifiMacHeader hdr, Time tstamp) |
This function stores an MPDU (part of an A-MPDU) in blockackagreement (i.e. More... | |
virtual void | CompleteTransfer (Mac48Address address, uint8_t tid) |
virtual bool | GetBlockAckAgreementExists (Mac48Address address, uint8_t tid)=0 |
virtual Mac48Address | GetDestAddressForAggregation (const WifiMacHeader &hdr) |
virtual Ptr< MpduAggregator > | GetMpduAggregator (void) const |
virtual Ptr< MsduAggregator > | GetMsduAggregator (void) const |
virtual uint16_t | GetNextSequenceNumberfor (WifiMacHeader *hdr) |
Return the next sequence number for the given header. More... | |
virtual uint32_t | GetNOutstandingPackets (Mac48Address recipient, uint8_t tid) |
virtual uint32_t | GetNRetryNeededPackets (Mac48Address recipient, uint8_t tid) const |
virtual Ptr< WifiMacQueue > | GetQueue (void)=0 |
Returns the EDCA queue to check if there are packets that can be aggregated with a Block Ack. More... | |
virtual Mac48Address | GetSrcAddressForAggregation (const WifiMacHeader &hdr) |
virtual Ptr< const Packet > | PeekNextPacketInBaQueue (WifiMacHeader &header, Mac48Address recipient, uint8_t tid, Time *timestamp) |
virtual uint16_t | PeekNextSequenceNumberfor (WifiMacHeader *hdr) |
Return the next sequence number for the Traffic ID and destination, but do not pick it (i.e. More... | |
virtual void | RemoveFromBaQueue (uint8_t tid, Mac48Address recipient, uint16_t seqnumber) |
Remove a packet after you peek in the retransmit queue and get it. More... | |
virtual void | SetAmpdu (Mac48Address dest, bool enableAmpdu) |
ns3::MacLowAggregationCapableTransmissionListener::MacLowAggregationCapableTransmissionListener | ( | ) |
Definition at line 69 of file mac-low.cc.
|
virtual |
Definition at line 72 of file mac-low.cc.
|
pure virtual |
Typically is called in order to notify EdcaTxopN that a block ack inactivity timeout occurs for the block ack agreement identified by the pair originator, tid.
Rx station maintains an inactivity timer for each block ack agreement. Timer is reset when a frame with ack policy block ack or a block ack request are received. When this timer reaches zero this method is called and a delba frame is scheduled for transmission.
originator | MAC address of the data originator |
tid |
Implemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
Referenced by ns3::MacLow::CreateBlockAckAgreement(), and ns3::MacLow::ResetBlockAckInactivityTimerIfNeeded().
|
virtual |
This function stores an MPDU (part of an A-MPDU) in blockackagreement (i.e.
the sender is waiting for a blockack containing the sequence number of this MPDU). It also calls NotifyMpdu transmission that updates the status of OriginatorBlockAckAgreement.
Reimplemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
Definition at line 82 of file mac-low.cc.
|
virtual |
address | address of peer station involved in block ack mechanism. |
tid | traffic ID of transmitted packet. |
Calls CompleteAmpduTransfer that resets the status of OriginatorBlockAckAgreement after the transfer of an A-MPDU with ImmediateBlockAck policy (i.e. no BAR is scheduled)
Reimplemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
Definition at line 78 of file mac-low.cc.
|
pure virtual |
recipient | address of the peer station |
tid | traffic ID. |
Checks if a block ack agreement exists with station addressed by recipient for tid tid.
Implemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
|
virtual |
Reimplemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
Definition at line 130 of file mac-low.cc.
|
virtual |
Reimplemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
Definition at line 120 of file mac-low.cc.
|
virtual |
Reimplemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
Definition at line 115 of file mac-low.cc.
|
virtual |
Return the next sequence number for the given header.
hdr | Wi-Fi header |
Reimplemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
Definition at line 86 of file mac-low.cc.
|
virtual |
recipient | address of peer station involved in block ack mechanism. |
tid | traffic ID. |
Returns number of packets buffered for a specified agreement.
Reimplemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
Definition at line 105 of file mac-low.cc.
|
virtual |
recipient | address of peer station involved in block ack mechanism. |
tid | traffic ID. |
Returns number of packets for a specific agreement that need retransmission.
Reimplemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
Definition at line 110 of file mac-low.cc.
|
pure virtual |
Returns the EDCA queue to check if there are packets that can be aggregated with a Block Ack.
Implemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
|
virtual |
Reimplemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
Definition at line 125 of file mac-low.cc.
|
virtual |
Reimplemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
Definition at line 96 of file mac-low.cc.
|
virtual |
Return the next sequence number for the Traffic ID and destination, but do not pick it (i.e.
the current sequence number remains unchanged).
hdr | Wi-Fi header |
Reimplemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
Definition at line 91 of file mac-low.cc.
|
virtual |
Remove a packet after you peek in the retransmit queue and get it.
Reimplemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
Definition at line 101 of file mac-low.cc.
|
virtual |
Reimplemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
Definition at line 75 of file mac-low.cc.