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 70 of file mac-low.cc.
|
virtual |
Definition at line 73 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 83 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 79 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 131 of file mac-low.cc.
|
virtual |
Reimplemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
Definition at line 121 of file mac-low.cc.
|
virtual |
Reimplemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
Definition at line 116 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 87 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 106 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 111 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 126 of file mac-low.cc.
|
virtual |
Reimplemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
Definition at line 97 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 92 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 102 of file mac-low.cc.
|
virtual |
Reimplemented in ns3::EdcaTxopN::AggregationCapableTransmissionListener.
Definition at line 76 of file mac-low.cc.