A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::flame::FlameProtocolMac Class Reference

Interface MAC plugin FLAME routing protocol. More...

#include <flame-protocol-mac.h>

+ Inheritance diagram for ns3::flame::FlameProtocolMac:

Classes

struct  Statistics
 

Public Member Functions

 FlameProtocolMac (uint32_t, Ptr< FlameProtocol >)
 
uint16_t GetChannelId () const
 
void Report (std::ostream &) const
 Report statistics.
 
void ResetStats ()
 
Inherited from MAC plugin
void SetParent (Ptr< MeshWifiInterfaceMac > parent)
 Each plugin must be installed on interface to work.
 
bool Receive (Ptr< Packet > packet, const WifiMacHeader &header)
 Process received frame. More...
 
bool UpdateOutcomingFrame (Ptr< Packet > packet, WifiMacHeader &header, Mac48Address from, Mac48Address to)
 Update frame before it will be forwarded down. More...
 
void UpdateBeacon (MeshWifiBeacon &beacon) const
 Update beacon is empty, because HWMP does not know anything about beacons.
 
int64_t AssignStreams (int64_t stream)
 AssignStreams is empty, because this model doesn't use random variables.
 
- Public Member Functions inherited from ns3::MeshWifiInterfaceMacPlugin
virtual ~MeshWifiInterfaceMacPlugin ()
 This is for subclasses.
 
- Public Member Functions inherited from ns3::SimpleRefCount< MeshWifiInterfaceMacPlugin >
 SimpleRefCount (const SimpleRefCount &o)
 
uint32_t GetReferenceCount (void) const
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 
void Ref (void) const
 
void Unref (void) const
 

Private Attributes

MeshPointDevice parameters:
Ptr< FlameProtocolm_protocol
 
uint32_t m_ifIndex
 
Ptr< MeshWifiInterfaceMacm_parent
 
Statistics:
Statistics m_stats
 

Additional Inherited Members

- Static Public Member Functions inherited from ns3::SimpleRefCount< MeshWifiInterfaceMacPlugin >
static void Cleanup (void)
 

Detailed Description

Interface MAC plugin FLAME routing protocol.

Definition at line 34 of file flame-protocol-mac.h.

Member Function Documentation

bool ns3::flame::FlameProtocolMac::Receive ( Ptr< Packet packet,
const WifiMacHeader header 
)
virtual

Process received frame.

Returns
false if (and only if) frame should be dropped TODO define when MAC call this

Implements ns3::MeshWifiInterfaceMacPlugin.

Definition at line 44 of file flame-protocol-mac.cc.

References ns3::Packet::AddPacketTag(), ns3::Mac48Address::GetBroadcast(), ns3::Packet::GetSize(), NS_FATAL_ERROR, ns3::Packet::PeekPacketTag(), ns3::flame::FlameTag::receiver, and ns3::flame::FlameTag::transmitter.

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

Update frame before it will be forwarded down.

Returns
false if (and only if) frame should be dropped TODO define when MAC call this, preconditions & postconditions

Implements ns3::MeshWifiInterfaceMacPlugin.

Definition at line 70 of file flame-protocol-mac.cc.

References ns3::Mac48Address::GetBroadcast(), ns3::Packet::GetSize(), NS_FATAL_ERROR, ns3::flame::FlameTag::receiver, and ns3::Packet::RemovePacketTag().


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