|
| ~TestWifiMac () override=default |
|
bool | CanForwardPacketsTo (Mac48Address to) const override |
| Return true if packets can be forwarded to the given destination, false otherwise. More...
|
|
void | Enqueue (Ptr< Packet > packet, Mac48Address to) override |
|
| WifiMac () |
|
| WifiMac (const WifiMac &)=delete |
|
| ~WifiMac () override |
|
void | BlockUnicastTxOnLinks (WifiQueueBlockedReason reason, const Mac48Address &address, const std::set< uint8_t > &linkIds) |
| Block the transmission on the given links of all unicast frames addressed to the station with the given address for the given reason. More...
|
|
virtual void | ConfigureStandard (WifiStandard standard) |
|
virtual void | Enqueue (Ptr< Packet > packet, Mac48Address to, Mac48Address from) |
|
Mac48Address | GetAddress () const |
|
OriginatorAgreementOptConstRef | GetBaAgreementEstablishedAsOriginator (Mac48Address recipient, uint8_t tid) const |
|
RecipientAgreementOptConstRef | GetBaAgreementEstablishedAsRecipient (Mac48Address originator, uint8_t tid) const |
|
BlockAckReqType | GetBarTypeAsOriginator (const Mac48Address &recipient, uint8_t tid) const |
|
BlockAckReqType | GetBarTypeAsRecipient (Mac48Address originator, uint8_t tid) const |
|
BlockAckType | GetBaTypeAsOriginator (const Mac48Address &recipient, uint8_t tid) const |
|
BlockAckType | GetBaTypeAsRecipient (Mac48Address originator, uint8_t tid) const |
|
Mac48Address | GetBssid (uint8_t linkId) const |
|
Ptr< ChannelAccessManager > | GetChannelAccessManager (uint8_t linkId=SINGLE_LINK_OP_ID) const |
| Get the Channel Access Manager associated with the given link. More...
|
|
Ptr< WifiNetDevice > | GetDevice () const |
| Return the device this PHY is associated with. More...
|
|
bool | GetDsssSupported (uint8_t linkId) const |
| Return whether the device supports DSSS on the given link. More...
|
|
EhtCapabilities | GetEhtCapabilities (uint8_t linkId) const |
| Return the EHT capabilities of the device for the given link. More...
|
|
Ptr< EhtConfiguration > | GetEhtConfiguration () const |
|
bool | GetEhtSupported () const |
| Return whether the device supports EHT. More...
|
|
bool | GetEhtSupported (const Mac48Address &address) const |
|
bool | GetErpSupported (uint8_t linkId) const |
| Return whether the device supports ERP on the given link. More...
|
|
ExtendedCapabilities | GetExtendedCapabilities () const |
| Return the extended capabilities of the device. More...
|
|
Ptr< FrameExchangeManager > | GetFrameExchangeManager (uint8_t linkId=SINGLE_LINK_OP_ID) const |
| Get the Frame Exchange Manager associated with the given link. More...
|
|
HeCapabilities | GetHeCapabilities (uint8_t linkId) const |
| Return the HE capabilities of the device for the given link. More...
|
|
Ptr< HeConfiguration > | GetHeConfiguration () const |
|
bool | GetHeSupported () const |
| Return whether the device supports HE. More...
|
|
bool | GetHeSupported (const Mac48Address &address) const |
|
HtCapabilities | GetHtCapabilities (uint8_t linkId) const |
| Return the HT capabilities of the device for the given link. More...
|
|
Ptr< HtConfiguration > | GetHtConfiguration () const |
|
bool | GetHtSupported () const |
| Return whether the device supports HT. More...
|
|
bool | GetHtSupported (const Mac48Address &address) const |
|
std::optional< uint8_t > | GetLinkForPhy (Ptr< const WifiPhy > phy) const |
| Get the ID of the link (if any) on which the given PHY is operating. More...
|
|
std::optional< uint8_t > | GetLinkForPhy (std::size_t phyId) const |
| Get the ID of the link (if any) on which the given PHY is operating. More...
|
|
virtual std::optional< uint8_t > | GetLinkIdByAddress (const Mac48Address &address) const |
| Get the ID of the link having the given MAC address, if any. More...
|
|
const std::set< uint8_t > & | GetLinkIds () const |
|
Mac48Address | GetLocalAddress (const Mac48Address &remoteAddr) const |
| Get the local MAC address used to communicate with a remote STA. More...
|
|
Ptr< WifiMacQueueScheduler > | GetMacQueueScheduler () const |
| Get the wifi MAC queue scheduler. More...
|
|
uint32_t | GetMaxAmpduSize (AcIndex ac) const |
| Return the maximum A-MPDU size of the given Access Category. More...
|
|
uint16_t | GetMaxAmsduSize (AcIndex ac) const |
| Return the maximum A-MSDU size of the given Access Category. More...
|
|
uint16_t | GetMaxBaBufferSize (std::optional< Mac48Address > address=std::nullopt) const |
| Get the maximum Block Ack buffer size (in number of MPDUs) supported by the given device, if any, or by this device, otherwise, based on the supported standard. More...
|
|
std::optional< Mac48Address > | GetMldAddress (const Mac48Address &remoteAddr) const |
|
uint16_t | GetMpduBufferSize () const |
|
uint8_t | GetNLinks () const |
| Get the number of links (can be greater than 1 for 11be devices only). More...
|
|
bool | GetQosSupported () const |
| Return whether the device supports QoS. More...
|
|
Ptr< QosTxop > | GetQosTxop (AcIndex ac) const |
| Accessor for a specified EDCA object. More...
|
|
Ptr< QosTxop > | GetQosTxop (uint8_t tid) const |
| Accessor for a specified EDCA object. More...
|
|
Ssid | GetSsid () const |
|
std::optional< std::reference_wrapper< const WifiTidLinkMapping > > | GetTidToLinkMapping (Mac48Address mldAddr, WifiDirection dir) const |
| Get the TID-to-Link Mapping negotiated with the given MLD (if any) for the given direction. More...
|
|
Ptr< Txop > | GetTxop () const |
| Accessor for the Txop object. More...
|
|
virtual Ptr< WifiMacQueue > | GetTxopQueue (AcIndex ac) const |
| Get the wifi MAC queue of the (Qos)Txop associated with the given AC, if such (Qos)Txop is installed, or a null pointer, otherwise. More...
|
|
TypeOfStation | GetTypeOfStation () const |
| Return the type of station. More...
|
|
VhtCapabilities | GetVhtCapabilities (uint8_t linkId) const |
| Return the VHT capabilities of the device for the given link. More...
|
|
Ptr< VhtConfiguration > | GetVhtConfiguration () const |
|
bool | GetVhtSupported (const Mac48Address &address) const |
|
bool | GetVhtSupported (uint8_t linkId) const |
| Return whether the device supports VHT on the given link. More...
|
|
Ptr< WifiPhy > | GetWifiPhy (uint8_t linkId=SINGLE_LINK_OP_ID) const |
|
Ptr< WifiRemoteStationManager > | GetWifiRemoteStationManager (uint8_t linkId=0) const |
|
virtual bool | HasFramesToTransmit (uint8_t linkId) |
| Check if the MAC has frames to transmit over the given link. More...
|
|
virtual void | NotifyChannelSwitching (uint8_t linkId) |
| Notify that channel on the given link has been switched. More...
|
|
void | NotifyPromiscRx (Ptr< const Packet > packet) |
|
void | NotifyRx (Ptr< const Packet > packet) |
|
void | NotifyRxDrop (Ptr< const Packet > packet) |
|
void | NotifyTx (Ptr< const Packet > packet) |
|
void | NotifyTxDrop (Ptr< const Packet > packet) |
|
WifiMac & | operator= (const WifiMac &)=delete |
|
void | ResetWifiPhys () |
| Remove currently attached WifiPhy objects from this MAC. More...
|
|
virtual void | SetAddress (Mac48Address address) |
|
void | SetBssid (Mac48Address bssid, uint8_t linkId) |
|
void | SetCtsToSelfSupported (bool enable) |
| Enable or disable CTS-to-self feature. More...
|
|
void | SetDevice (const Ptr< WifiNetDevice > device) |
| Sets the device this PHY is associated with. More...
|
|
void | SetForwardUpCallback (ForwardUpCallback upCallback) |
|
void | SetLinkDownCallback (Callback< void > linkDown) |
|
virtual void | SetLinkUpCallback (Callback< void > linkUp) |
|
virtual void | SetMacQueueScheduler (Ptr< WifiMacQueueScheduler > scheduler) |
| Set the wifi MAC queue scheduler. More...
|
|
void | SetMpduBufferSize (uint16_t size) |
|
void | SetPromisc () |
| Sets the interface in promiscuous mode. More...
|
|
void | SetSsid (Ssid ssid) |
|
void | SetTypeOfStation (TypeOfStation type) |
| This method is invoked by a subclass to specify what type of station it is implementing. More...
|
|
virtual void | SetWifiPhys (const std::vector< Ptr< WifiPhy >> &phys) |
|
void | SetWifiRemoteStationManager (Ptr< WifiRemoteStationManager > stationManager) |
|
void | SetWifiRemoteStationManagers (const std::vector< Ptr< WifiRemoteStationManager >> &stationManagers) |
|
virtual bool | SupportsSendFrom () const |
|
bool | TidMappedOnLink (Mac48Address mldAddr, WifiDirection dir, uint8_t tid, uint8_t linkId) const |
| Check whether the given TID is mapped on the given link in the given direction for the given MLD. More...
|
|
void | UnblockUnicastTxOnLinks (WifiQueueBlockedReason reason, const Mac48Address &address, const std::set< uint8_t > &linkIds) |
| Unblock the transmission on the given links of all unicast frames addressed to the station with the given address for the given reason. More...
|
|
| Object () |
| Constructor. More...
|
|
| ~Object () override |
| Destructor. More...
|
|
void | AggregateObject (Ptr< Object > other) |
| Aggregate two Objects together. More...
|
|
void | Dispose () |
| Dispose of this Object. More...
|
|
AggregateIterator | GetAggregateIterator () const |
| Get an iterator to the Objects aggregated to this one. More...
|
|
TypeId | GetInstanceTypeId () const override |
| Get the most derived TypeId for this Object. More...
|
|
template<typename T > |
Ptr< T > | GetObject () const |
| Get a pointer to the requested aggregated Object. More...
|
|
template<> |
Ptr< Object > | GetObject () const |
| Specialization of () for objects of type ns3::Object. More...
|
|
template<typename T > |
Ptr< T > | GetObject (TypeId tid) const |
| Get a pointer to the requested aggregated Object by TypeId. More...
|
|
template<> |
Ptr< Object > | GetObject (TypeId tid) const |
| Specialization of (TypeId tid) for objects of type ns3::Object. More...
|
|
void | Initialize () |
| Invoke DoInitialize on all Objects aggregated to this one. More...
|
|
bool | IsInitialized () const |
| Check if the object has been initialized. More...
|
|
| SimpleRefCount () |
| Default constructor. More...
|
|
| SimpleRefCount (const SimpleRefCount &o[[maybe_unused]]) |
| Copy constructor. More...
|
|
uint32_t | GetReferenceCount () const |
| Get the reference count of the object. More...
|
|
SimpleRefCount & | operator= (const SimpleRefCount &o[[maybe_unused]]) |
| Assignment operator. More...
|
|
void | Ref () const |
| Increment the reference count. More...
|
|
void | Unref () const |
| Decrement the reference count. More...
|
|
virtual | ~ObjectBase () |
| Virtual destructor. More...
|
|
void | GetAttribute (std::string name, AttributeValue &value) const |
| Get the value of an attribute, raising fatal errors if unsuccessful. More...
|
|
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
| Get the value of an attribute without raising errors. More...
|
|
void | SetAttribute (std::string name, const AttributeValue &value) |
| Set a single attribute, raising fatal errors if unsuccessful. More...
|
|
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
| Set a single attribute without raising errors. More...
|
|
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
| Connect a TraceSource to a Callback with a context. More...
|
|
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
| Connect a TraceSource to a Callback without a context. More...
|
|
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
| Disconnect from a TraceSource a Callback previously connected with a context. More...
|
|
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
| Disconnect from a TraceSource a Callback previously connected without a context. More...
|
|
|
typedef Callback< void, Ptr< const Packet >, Mac48Address, Mac48Address > | ForwardUpCallback |
| This type defines the callback of a higher layer that a WifiMac(-derived) object invokes to pass a packet up the stack. More...
|
|
using | OriginatorAgreementOptConstRef = std::optional< std::reference_wrapper< const OriginatorBlockAckAgreement > > |
| optional const reference to OriginatorBlockAckAgreement More...
|
|
using | RecipientAgreementOptConstRef = std::optional< std::reference_wrapper< const RecipientBlockAckAgreement > > |
| optional const reference to RecipientBlockAckAgreement More...
|
|
static TypeId | GetTypeId () |
| Get the type ID. More...
|
|
static TypeId | GetTypeId () |
| Register this type. More...
|
|
static TypeId | GetTypeId () |
| Get the type ID. More...
|
|
void | ApplyTidLinkMapping (const Mac48Address &mldAddr, WifiDirection dir) |
| Apply the TID-to-Link Mapping negotiated with the given MLD for the given direction by properly configuring the queue scheduler. More...
|
|
virtual void | ConfigureContentionWindow (uint32_t cwMin, uint32_t cwMax) |
|
virtual void | DeaggregateAmsduAndForward (Ptr< const WifiMpdu > mpdu) |
| This method can be called to de-aggregate an A-MSDU and forward the constituent packets up the stack. More...
|
|
void | DoDispose () override |
| Destructor implementation. More...
|
|
void | DoInitialize () override |
| Initialize() implementation. More...
|
|
void | ForwardUp (Ptr< const Packet > packet, Mac48Address from, Mac48Address to) |
| Forward the packet up to the device. More...
|
|
Ptr< QosTxop > | GetBEQueue () const |
| Accessor for the AC_BE channel access function. More...
|
|
Ptr< QosTxop > | GetBKQueue () const |
| Accessor for the AC_BK channel access function. More...
|
|
LinkEntity & | GetLink (uint8_t linkId) const |
| Get a reference to the link associated with the given ID. More...
|
|
const std::map< uint8_t, std::unique_ptr< LinkEntity > > & | GetLinks () const |
|
bool | GetShortSlotTimeSupported () const |
|
Ptr< QosTxop > | GetVIQueue () const |
| Accessor for the AC_VI channel access function. More...
|
|
Ptr< QosTxop > | GetVOQueue () const |
| Accessor for the AC_VO channel access function. More...
|
|
virtual void | Receive (Ptr< const WifiMpdu > mpdu, uint8_t linkId) |
| This method acts as the MacRxMiddle receive callback and is invoked to notify us that a frame has been received on the given link. More...
|
|
void | SetQosSupported (bool enable) |
| Enable or disable QoS support for the device. More...
|
|
void | SetShortSlotTimeSupported (bool enable) |
| Enable or disable short slot time feature. More...
|
|
void | SwapLinks (std::map< uint8_t, uint8_t > links) |
| Swap the links based on the information included in the given map. More...
|
|
void | UpdateTidToLinkMapping (const Mac48Address &mldAddr, WifiDirection dir, const WifiTidLinkMapping &mapping) |
| Update the TID-to-Link Mappings for the given MLD in the given direction based on the given negotiated mappings. More...
|
|
| Object (const Object &o) |
| Copy an Object. More...
|
|
virtual void | NotifyNewAggregate () |
| Notify all Objects aggregated to this one of a new Object being aggregated. More...
|
|
void | ConstructSelf (const AttributeConstructionList &attributes) |
| Complete construction of ObjectBase; invoked by derived classes. More...
|
|
virtual void | NotifyConstructionCompleted () |
| Notifier called once the ObjectBase is fully constructed. More...
|
|
Callback< void > | m_linkDown |
| Callback when a link is down. More...
|
|
Callback< void > | m_linkUp |
| Callback when a link is up. More...
|
|
Ptr< MacRxMiddle > | m_rxMiddle |
| RX middle (defragmentation etc.) More...
|
|
Ptr< WifiMacQueueScheduler > | m_scheduler |
| wifi MAC queue scheduler More...
|
|
Ptr< MacTxMiddle > | m_txMiddle |
| TX middle (aggregation etc.) More...
|
|
Ptr< Txop > | m_txop |
| TXOP used for transmission of frames to non-QoS peers. More...
|
|
static TypeId | GetObjectIid () |
| Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More...
|
|