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 148 of file edca-txop-n.cc.
|
inline |
Definition at line 151 of file edca-txop-n.cc.
|
inlinevirtual |
Definition at line 156 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 160 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 176 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 168 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 196 of file edca-txop-n.cc.
References ns3::EdcaTxopN::GetBaAgreementExists(), and m_txop.
|
inlinevirtual |
Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 220 of file edca-txop-n.cc.
References m_txop, and ns3::EdcaTxopN::MapDestAddressForAggregation().
|
inlinevirtual |
Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 212 of file edca-txop-n.cc.
References ns3::EdcaTxopN::GetMpduAggregator(), and m_txop.
|
inlinevirtual |
Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 208 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 180 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 200 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 204 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 164 of file edca-txop-n.cc.
References ns3::EdcaTxopN::GetEdcaQueue(), and m_txop.
|
inlinevirtual |
Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 216 of file edca-txop-n.cc.
References m_txop, and ns3::EdcaTxopN::MapSrcAddressForAggregation().
|
inlinevirtual |
Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 188 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 184 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 192 of file edca-txop-n.cc.
References m_txop, and ns3::EdcaTxopN::RemoveRetransmitPacket().
|
inlinevirtual |
Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.
Definition at line 172 of file edca-txop-n.cc.
References m_txop, and ns3::EdcaTxopN::SetAmpduExist().
|
private |
Definition at line 226 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().