25 #include "ns3/object.h"
26 #include "ns3/mac48-address.h"
27 #include "ns3/packet.h"
47 class WifiMacParameters;
50 class QosBlockedDestinations;
52 class MgtAddBaResponseHeader;
53 class BlockAckManager;
101 virtual void SetMinCw (uint32_t minCw);
102 virtual void SetMaxCw (uint32_t maxCw);
103 virtual void SetAifsn (uint32_t aifsn);
104 virtual uint32_t
GetMinCw (
void)
const;
105 virtual uint32_t
GetMaxCw (
void)
const;
106 virtual uint32_t
GetAifsn (
void)
const;
191 uint16_t
timeout,
bool immediateBAck);
virtual void SetMaxCw(uint32_t maxCw)
TransmissionListener * m_transmissionListener
keep track of time values and allow control of global simulation resolution
Ptr< const Packet > m_currentPacket
smart pointer class similar to boost::intrusive_ptr
TxFailed m_txFailedCallback
void SetBlockAckInactivityTimeout(uint16_t timeout)
uint32_t GetFragmentSize(void)
uint16_t m_blockAckInactivityTimeout
void VerifyBlockAck(void)
void GotBlockAck(const CtrlBAckResponseHeader *blockAck, Mac48Address recipient)
void NotifyCollision(void)
void SetTypeOfStation(enum TypeOfStation type)
bool NeedDataRetransmission(void)
void SetTxFailedCallback(TxFailed callback)
void GotAck(double snr, WifiMode txMode)
uint8_t m_blockAckThreshold
void SetWifiRemoteStationManager(Ptr< WifiRemoteStationManager > remoteManager)
WifiMacHeader m_currentHdr
represent a single transmission modeA WifiMode is implemented by a single integer which is used to lo...
void SetTxOkCallback(TxOk callback)
BlockAckManager * m_baManager
bool NeedRtsRetransmission(void)
virtual uint32_t GetAifsn(void) const
enum TypeOfStation GetTypeOfStation(void) const
void SetLow(Ptr< MacLow > low)
Ptr< WifiRemoteStationManager > m_stationManager
void GotDelBaFrame(const MgtDelBaHeader *delBaHdr, Mac48Address recipient)
void NotifyAccessGranted(void)
void NotifyInternalCollision(void)
virtual void SetMinCw(uint32_t minCw)
void SendAddBaRequest(Mac48Address recipient, uint8_t tid, uint16_t startSeq, uint16_t timeout, bool immediateBAck)
void SendDelbaFrame(Mac48Address addr, uint8_t tid, bool byOriginator)
void SetBlockAckThreshold(uint8_t threshold)
Callback< void, const WifiMacHeader & > TxOk
Manage a set of ns3::DcfStateHandle a set of independent ns3::DcfState, each of which represents a si...
void NotifyChannelSwitching(void)
int64_t AssignStreams(int64_t stream)
Ptr< Packet > GetFragmentPacket(WifiMacHeader *hdr)
Time m_currentPacketTimestamp
virtual uint32_t GetMinCw(void) const
void MissedBlockAck(void)
bool NeedFragmentation(void) const
Ptr< MsduAggregator > GetMsduAggregator(void) const
void SetAccessCategory(enum AcIndex ac)
Callback< void, const WifiMacHeader & > TxFailed
Mac48Address MapDestAddressForAggregation(const WifiMacHeader &hdr)
bool SetupBlockAckIfNeeded()
void SetManager(DcfManager *manager)
void Queue(Ptr< const Packet > packet, const WifiMacHeader &hdr)
void SetMsduAggregator(Ptr< MsduAggregator > aggr)
EdcaTxopN & operator=(const EdcaTxopN &)
void PushFront(Ptr< const Packet > packet, const WifiMacHeader &hdr)
enum BlockAckType m_blockAckType
static TypeId GetTypeId(void)
BlockAckEventListener * m_blockAckListener
uint32_t GetNextFragmentSize(void)
void CompleteConfig(void)
void RestartAccessIfNeeded(void)
QosBlockedDestinations * m_qosBlockedDestinations
uint8_t GetBlockAckThreshold(void) const
void SetTxMiddle(MacTxMiddle *txMiddle)
void GotCts(double snr, WifiMode txMode)
bool IsLastFragment(void) const
virtual uint32_t GetMaxCw(void) const
Ptr< WifiMacQueue > m_queue
void StartAccessIfNeeded(void)
void SendBlockAckRequest(const struct Bar &bar)
Ptr< MsduAggregator > m_aggregator
Manages all block ack agreements for an originator station.
Ptr< WifiMacQueue > GetQueue() const
a unique identifier for an interface.
bool NeedsAccess(void) const
uint32_t GetFragmentOffset(void)
void GotAddBaResponse(const MgtAddBaResponseHeader *respHdr, Mac48Address recipient)
virtual void SetAifsn(uint32_t aifsn)
TypeOfStation m_typeOfStation
Mac48Address MapSrcAddressForAggregation(const WifiMacHeader &hdr)