Classes | Public Member Functions | Static Public Member Functions

ns3::flame::FlameProtocol Class Reference
[FLAME]

FLAME routing protocol. More...

#include <flame-protocol.h>

Inheritance diagram for ns3::flame::FlameProtocol:
Inheritance graph
[legend]
Collaboration diagram for ns3::flame::FlameProtocol:
Collaboration graph
[legend]

List of all members.

Classes

struct  Statistics

Public Member Functions

void DoDispose ()
bool RequestRoute (uint32_t sourceIface, const Mac48Address source, const Mac48Address destination, Ptr< const Packet > packet, uint16_t protocolType, RouteReplyCallback routeReply)
 Route request, inherited from MeshL2RoutingProtocol.
bool RemoveRoutingStuff (uint32_t fromIface, const Mac48Address source, const Mac48Address destination, Ptr< Packet > packet, uint16_t &protocolType)
 Cleanup flame headers!
bool Install (Ptr< MeshPointDevice >)
 Install FLAME on given mesh point.
Mac48Address GetAddress ()
void Report (std::ostream &) const
 Statistics.
void ResetStats ()

Static Public Member Functions

static TypeId GetTypeId ()
 Never forget to support NS3 object model.

Detailed Description

FLAME routing protocol.


Member Function Documentation

void ns3::flame::FlameProtocol::DoDispose (  )  [virtual]

This method is called by Object::Dispose or by the object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.

It is safe to call GetObject from within this method.

Reimplemented from ns3::Object.

static TypeId ns3::flame::FlameProtocol::GetTypeId ( void   )  [static]

Never forget to support NS3 object model.

This method returns the TypeId associated to ns3::MeshL2RoutingProtocol.

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::MeshL2RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::MeshPointDevice/RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::MeshL2RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::MeshPointDevice/RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::MeshL2RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::MeshPointDevice/RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::MeshL2RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::MeshPointDevice/RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::MeshPointDevice/RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::MeshL2RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::MeshPointDevice/RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::MeshL2RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::MeshPointDevice/RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::MeshL2RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::MeshPointDevice/RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::MeshL2RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::MeshPointDevice/RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::MeshL2RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::MeshPointDevice/RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::MeshL2RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::MeshPointDevice/RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::MeshL2RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::MeshPointDevice/RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::MeshL2RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::MeshPointDevice/RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::MeshL2RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::MeshPointDevice/RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::MeshL2RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::MeshPointDevice/RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::MeshL2RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::MeshPointDevice/RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::MeshL2RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::MeshPointDevice/RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::MeshL2RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::MeshPointDevice/RoutingProtocol

No Attributes defined for this type.
No TraceSources defined for this type.

Reimplemented from ns3::MeshL2RoutingProtocol.

bool ns3::flame::FlameProtocol::Install ( Ptr< MeshPointDevice  ) 

Install FLAME on given mesh point.

Installing protocol cause installing its interface MAC plugins.

Also MP aggregates all installed protocols, FLAME protocol can be accessed via MeshPointDevice::GetObject<flame::FlameProtocol>();


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