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 ()
 This method returns the TypeId associated to ns3::flame::FlameProtocol.

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]

This method returns the TypeId associated to ns3::flame::FlameProtocol.

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

  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::MeshL2RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::MeshPointDevice/RoutingProtocol/$ns3::flame::FlameProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::flame::FlameProtocol

Attributes defined for this type:

  • BroadcastInterval: How often we must send broadcast packets
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 5000000000ns
    • Flags: construct write read
  • MaxCost: Cost threshold after which packet will be dropped

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 files: