A Discrete-Event Network Simulator
API
ns3::MeshWifiInterfaceMacPlugin Class Referenceabstract

Common interface for mesh point interface MAC plugins. More...

#include "mesh-wifi-interface-mac-plugin.h"

+ Inheritance diagram for ns3::MeshWifiInterfaceMacPlugin:
+ Collaboration diagram for ns3::MeshWifiInterfaceMacPlugin:

Public Member Functions

virtual ~MeshWifiInterfaceMacPlugin ()
 This is for subclasses. More...
 
virtual int64_t AssignStreams (int64_t stream)=0
 Assign a fixed random variable stream number to the random variables used by this model. More...
 
virtual bool Receive (Ptr< Packet > packet, const WifiMacHeader &header)=0
 Process received frame. More...
 
virtual void SetParent (Ptr< MeshWifiInterfaceMac > parent)=0
 Each plugin must be installed on an interface to work. More...
 
virtual void UpdateBeacon (MeshWifiBeacon &beacon) const =0
 Update beacon before it will be formed and sent. More...
 
virtual bool UpdateOutcomingFrame (Ptr< Packet > packet, WifiMacHeader &header, Mac48Address from, Mac48Address to)=0
 Update frame before it will be forwarded down. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< MeshWifiInterfaceMacPlugin >
 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...
 
SimpleRefCountoperator= (const SimpleRefCount &o[[maybe_unused]])
 Assignment operator. More...
 
void Ref () const
 Increment the reference count. More...
 
void Unref () const
 Decrement the reference count. More...
 

Detailed Description

Common interface for mesh point interface MAC plugins.

Todo:
plugins description

Definition at line 41 of file mesh-wifi-interface-mac-plugin.h.

Constructor & Destructor Documentation

◆ ~MeshWifiInterfaceMacPlugin()

virtual ns3::MeshWifiInterfaceMacPlugin::~MeshWifiInterfaceMacPlugin ( )
inlinevirtual

This is for subclasses.

Definition at line 45 of file mesh-wifi-interface-mac-plugin.h.

Member Function Documentation

◆ AssignStreams()

virtual int64_t ns3::MeshWifiInterfaceMacPlugin::AssignStreams ( int64_t  stream)
pure virtual

Assign a fixed random variable stream number to the random variables used by this model.

Return the number of streams (possibly zero) that have been assigned.

Parameters
streamfirst stream index to use
Returns
the number of stream indices assigned by this model

Implemented in ns3::flame::FlameProtocolMac, ns3::dot11s::PeerManagementProtocolMac, and ns3::dot11s::HwmpProtocolMac.

◆ Receive()

virtual bool ns3::MeshWifiInterfaceMacPlugin::Receive ( Ptr< Packet packet,
const WifiMacHeader header 
)
pure virtual

Process received frame.

Parameters
packet
header
Returns
false if (and only if) frame should be dropped
Todo:
define when MAC call this

Implemented in ns3::flame::FlameProtocolMac, ns3::dot11s::PeerManagementProtocolMac, and ns3::dot11s::HwmpProtocolMac.

◆ SetParent()

virtual void ns3::MeshWifiInterfaceMacPlugin::SetParent ( Ptr< MeshWifiInterfaceMac parent)
pure virtual

Each plugin must be installed on an interface to work.

Parameters
parentthe parent object

Implemented in ns3::flame::FlameProtocolMac, ns3::dot11s::PeerManagementProtocolMac, and ns3::dot11s::HwmpProtocolMac.

Referenced by ns3::MeshWifiInterfaceMac::InstallPlugin().

+ Here is the caller graph for this function:

◆ UpdateBeacon()

virtual void ns3::MeshWifiInterfaceMacPlugin::UpdateBeacon ( MeshWifiBeacon beacon) const
pure virtual

Update beacon before it will be formed and sent.

Parameters
beacon
Todo:
define when MAC call this

Implemented in ns3::flame::FlameProtocolMac, ns3::dot11s::PeerManagementProtocolMac, and ns3::dot11s::HwmpProtocolMac.

◆ UpdateOutcomingFrame()

virtual bool ns3::MeshWifiInterfaceMacPlugin::UpdateOutcomingFrame ( Ptr< Packet packet,
WifiMacHeader header,
Mac48Address  from,
Mac48Address  to 
)
pure virtual

Update frame before it will be forwarded down.

Parameters
packet
header
from
to
Returns
false if (and only if) frame should be dropped
Todo:
define when MAC call this, preconditions & postconditions

Implemented in ns3::flame::FlameProtocolMac, ns3::dot11s::PeerManagementProtocolMac, and ns3::dot11s::HwmpProtocolMac.


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