Public Member Functions | |
AggregationCapableTransmissionListener (EdcaTxopN *txop) | |
virtual | ~AggregationCapableTransmissionListener () |
virtual void | BlockAckInactivityTimeout (Mac48Address address, uint8_t tid) |
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 recipient, uint8_t tid) |
virtual bool | GetBlockAckAgreementExists (Mac48Address address, uint8_t tid) |
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 address, uint8_t tid) |
virtual uint32_t | GetNRetryNeededPackets (Mac48Address recipient, uint8_t tid) const |
virtual Ptr< WifiMacQueue > | GetQueue (void) |
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) |
Public Member Functions inherited from ns3::MacLowAggregationCapableTransmissionListener | |
MacLowAggregationCapableTransmissionListener () | |
virtual | ~MacLowAggregationCapableTransmissionListener () |
Private Attributes | |
EdcaTxopN * | m_txop |
Definition at line 153 of file edca-txop-n.cc.
|
inline |
Definition at line 156 of file edca-txop-n.cc.
|
inlinevirtual |
Definition at line 161 of file edca-txop-n.cc.
|
inlinevirtual |
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 |
Implements ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 165 of file edca-txop-n.cc.
References m_txop, and ns3::EdcaTxopN::SendDelbaFrame().
|
inlinevirtual |
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 from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 181 of file edca-txop-n.cc.
References ns3::EdcaTxopN::CompleteMpduTx(), and m_txop.
|
inlinevirtual |
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 from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 173 of file edca-txop-n.cc.
References ns3::EdcaTxopN::CompleteAmpduTransfer(), and m_txop.
|
inlinevirtual |
recipient | address of the peer station |
tid | traffic ID. |
Checks if a block ack agreement exists with station addressed by recipient for tid tid.
Implements ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 201 of file edca-txop-n.cc.
References ns3::EdcaTxopN::GetBaAgreementExists(), and m_txop.
|
inlinevirtual |
Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 225 of file edca-txop-n.cc.
References m_txop, and ns3::EdcaTxopN::MapDestAddressForAggregation().
|
inlinevirtual |
Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 217 of file edca-txop-n.cc.
References ns3::EdcaTxopN::GetMpduAggregator(), and m_txop.
|
inlinevirtual |
Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 213 of file edca-txop-n.cc.
References ns3::EdcaTxopN::GetMsduAggregator(), and m_txop.
|
inlinevirtual |
Return the next sequence number for the given header.
hdr | Wi-Fi header |
Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 185 of file edca-txop-n.cc.
References ns3::EdcaTxopN::GetNextSequenceNumberfor(), and m_txop.
|
inlinevirtual |
recipient | address of peer station involved in block ack mechanism. |
tid | traffic ID. |
Returns number of packets buffered for a specified agreement.
Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 205 of file edca-txop-n.cc.
References ns3::EdcaTxopN::GetNOutstandingPacketsInBa(), and m_txop.
|
inlinevirtual |
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 from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 209 of file edca-txop-n.cc.
References ns3::EdcaTxopN::GetNRetryNeededPackets(), and m_txop.
|
inlinevirtual |
Returns the EDCA queue to check if there are packets that can be aggregated with a Block Ack.
Implements ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 169 of file edca-txop-n.cc.
References ns3::EdcaTxopN::GetEdcaQueue(), and m_txop.
|
inlinevirtual |
Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 221 of file edca-txop-n.cc.
References m_txop, and ns3::EdcaTxopN::MapSrcAddressForAggregation().
|
inlinevirtual |
Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 193 of file edca-txop-n.cc.
References m_txop, and ns3::EdcaTxopN::PeekNextRetransmitPacket().
|
inlinevirtual |
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 from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 189 of file edca-txop-n.cc.
References m_txop, and ns3::EdcaTxopN::PeekNextSequenceNumberfor().
|
inlinevirtual |
Remove a packet after you peek in the retransmit queue and get it.
Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 197 of file edca-txop-n.cc.
References m_txop, and ns3::EdcaTxopN::RemoveRetransmitPacket().
|
inlinevirtual |
Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 177 of file edca-txop-n.cc.
References m_txop, and ns3::EdcaTxopN::SetAmpduExist().
|
private |
Definition at line 231 of file edca-txop-n.cc.
Referenced by BlockAckInactivityTimeout(), CompleteMpduTx(), CompleteTransfer(), GetBlockAckAgreementExists(), GetDestAddressForAggregation(), GetMpduAggregator(), GetMsduAggregator(), GetNextSequenceNumberfor(), GetNOutstandingPackets(), GetNRetryNeededPackets(), GetQueue(), GetSrcAddressForAggregation(), PeekNextPacketInBaQueue(), PeekNextSequenceNumberfor(), RemoveFromBaQueue(), and SetAmpdu().