A Discrete-Event Network Simulator
API
ns3::EdcaTxopN::AggregationCapableTransmissionListener Class Reference
+ Inheritance diagram for ns3::EdcaTxopN::AggregationCapableTransmissionListener:
+ Collaboration diagram for ns3::EdcaTxopN::AggregationCapableTransmissionListener:

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< MpduAggregatorGetMpduAggregator (void) const
 
virtual Ptr< MsduAggregatorGetMsduAggregator (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< WifiMacQueueGetQueue (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 PacketPeekNextPacketInBaQueue (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

EdcaTxopNm_txop
 

Detailed Description

Definition at line 153 of file edca-txop-n.cc.

Constructor & Destructor Documentation

ns3::EdcaTxopN::AggregationCapableTransmissionListener::AggregationCapableTransmissionListener ( EdcaTxopN txop)
inline

Definition at line 156 of file edca-txop-n.cc.

virtual ns3::EdcaTxopN::AggregationCapableTransmissionListener::~AggregationCapableTransmissionListener ( )
inlinevirtual

Definition at line 161 of file edca-txop-n.cc.

Member Function Documentation

virtual void ns3::EdcaTxopN::AggregationCapableTransmissionListener::BlockAckInactivityTimeout ( Mac48Address  originator,
uint8_t  tid 
)
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.

Parameters
originatorMAC 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().

+ Here is the call graph for this function:

virtual void ns3::EdcaTxopN::AggregationCapableTransmissionListener::CompleteMpduTx ( Ptr< const Packet packet,
WifiMacHeader  hdr,
Time  tstamp 
)
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.

+ Here is the call graph for this function:

virtual void ns3::EdcaTxopN::AggregationCapableTransmissionListener::CompleteTransfer ( Mac48Address  address,
uint8_t  tid 
)
inlinevirtual
Parameters
addressaddress of peer station involved in block ack mechanism.
tidtraffic 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.

+ Here is the call graph for this function:

virtual bool ns3::EdcaTxopN::AggregationCapableTransmissionListener::GetBlockAckAgreementExists ( Mac48Address  address,
uint8_t  tid 
)
inlinevirtual
Parameters
recipientaddress of the peer station
tidtraffic ID.
Returns
true if a block ack agreement exists, false otherwise

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.

+ Here is the call graph for this function:

virtual Mac48Address ns3::EdcaTxopN::AggregationCapableTransmissionListener::GetDestAddressForAggregation ( const WifiMacHeader hdr)
inlinevirtual

Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.

Definition at line 225 of file edca-txop-n.cc.

References m_txop, and ns3::EdcaTxopN::MapDestAddressForAggregation().

+ Here is the call graph for this function:

virtual Ptr<MpduAggregator> ns3::EdcaTxopN::AggregationCapableTransmissionListener::GetMpduAggregator ( void  ) const
inlinevirtual

Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.

Definition at line 217 of file edca-txop-n.cc.

References ns3::EdcaTxopN::GetMpduAggregator(), and m_txop.

+ Here is the call graph for this function:

virtual Ptr<MsduAggregator> ns3::EdcaTxopN::AggregationCapableTransmissionListener::GetMsduAggregator ( void  ) const
inlinevirtual

Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.

Definition at line 213 of file edca-txop-n.cc.

References ns3::EdcaTxopN::GetMsduAggregator(), and m_txop.

+ Here is the call graph for this function:

virtual uint16_t ns3::EdcaTxopN::AggregationCapableTransmissionListener::GetNextSequenceNumberfor ( WifiMacHeader hdr)
inlinevirtual

Return the next sequence number for the given header.

Parameters
hdrWi-Fi header
Returns
the next sequence number

Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.

Definition at line 185 of file edca-txop-n.cc.

References ns3::EdcaTxopN::GetNextSequenceNumberfor(), and m_txop.

+ Here is the call graph for this function:

virtual uint32_t ns3::EdcaTxopN::AggregationCapableTransmissionListener::GetNOutstandingPackets ( Mac48Address  recipient,
uint8_t  tid 
)
inlinevirtual
Parameters
recipientaddress of peer station involved in block ack mechanism.
tidtraffic ID.
Returns
the number of packets buffered for a specified agreement

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.

+ Here is the call graph for this function:

virtual uint32_t ns3::EdcaTxopN::AggregationCapableTransmissionListener::GetNRetryNeededPackets ( Mac48Address  recipient,
uint8_t  tid 
) const
inlinevirtual
Parameters
recipientaddress of peer station involved in block ack mechanism.
tidtraffic ID.
Returns
the number of packets for a specific agreement that need retransmission

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.

+ Here is the call graph for this function:

virtual Ptr<WifiMacQueue> ns3::EdcaTxopN::AggregationCapableTransmissionListener::GetQueue ( void  )
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.

+ Here is the call graph for this function:

virtual Mac48Address ns3::EdcaTxopN::AggregationCapableTransmissionListener::GetSrcAddressForAggregation ( const WifiMacHeader hdr)
inlinevirtual

Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.

Definition at line 221 of file edca-txop-n.cc.

References m_txop, and ns3::EdcaTxopN::MapSrcAddressForAggregation().

+ Here is the call graph for this function:

virtual Ptr<const Packet> ns3::EdcaTxopN::AggregationCapableTransmissionListener::PeekNextPacketInBaQueue ( WifiMacHeader header,
Mac48Address  recipient,
uint8_t  tid,
Time timestamp 
)
inlinevirtual

Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.

Definition at line 193 of file edca-txop-n.cc.

References m_txop, and ns3::EdcaTxopN::PeekNextRetransmitPacket().

+ Here is the call graph for this function:

virtual uint16_t ns3::EdcaTxopN::AggregationCapableTransmissionListener::PeekNextSequenceNumberfor ( WifiMacHeader hdr)
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).

Parameters
hdrWi-Fi header
Returns
the next sequence number

Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.

Definition at line 189 of file edca-txop-n.cc.

References m_txop, and ns3::EdcaTxopN::PeekNextSequenceNumberfor().

+ Here is the call graph for this function:

virtual void ns3::EdcaTxopN::AggregationCapableTransmissionListener::RemoveFromBaQueue ( uint8_t  tid,
Mac48Address  recipient,
uint16_t  seqnumber 
)
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().

+ Here is the call graph for this function:

virtual void ns3::EdcaTxopN::AggregationCapableTransmissionListener::SetAmpdu ( Mac48Address  dest,
bool  enableAmpdu 
)
inlinevirtual

Reimplemented from ns3::MacLowAggregationCapableTransmissionListener.

Definition at line 177 of file edca-txop-n.cc.

References m_txop, and ns3::EdcaTxopN::SetAmpduExist().

+ Here is the call graph for this function:

Member Data Documentation


The documentation for this class was generated from the following file: