RINASim  October 2016
Documentation of framework for OMNeT++
DMRnms::Routing Class Reference

#include <Routing.h>

Inheritance diagram for DMRnms::Routing:
IntRouting

Public Member Functions

 ~Routing ()
 
void finish ()
 
bool processUpdate (IntRoutingUpdate *update)
 
void addDomain (const std::string &domain, const std::string &addr, const ModuleAlgs &alg)
 
void removeDomain (const std::string &domain)
 
void addFlow (const Address &nAddr, const std::string &domain, const std::string &addr, const unsigned short &metric)
 
void removeFlow (const Address &nAddr, const std::string &domain, const std::string &addr)
 
void addAddr (const std::string &domain, const std::string &addr)
 
void removeAddr (const std::string &domain, const std::string &addr)
 
void setInfMetric (const std::string &domain, const unsigned short &inf)
 
void chSendUpdate (RoutingUpdate *update)
 
dmUpdateM getChanges ()
 
dmUpdateM getAll ()
 
void chScheduleAt (const std::string domain, const double &time, cMessage *msg)
 
virtual void handleMessage (cMessage *msg)
 
- Public Member Functions inherited from IntRouting
void receiveUpdate (IntRoutingUpdate *update)
 

Protected Member Functions

void onPolicyInit ()
 
- Protected Member Functions inherited from IntRouting
void initialize ()
 
void sendUpdate (IntRoutingUpdate *update)
 

Protected Attributes

std::map< std::string, rModule * > rModules
 
std::set< std::string > changedModules
 
- Protected Attributes inherited from IntRouting
Address myAddress
 

Detailed Description

Definition at line 49 of file Routing.h.

Constructor & Destructor Documentation

DMRnms::Routing::~Routing ( )

Definition at line 32 of file Routing.cc.

Member Function Documentation

void DMRnms::Routing::addAddr ( const std::string &  domain,
const std::string &  addr 
)

Definition at line 90 of file Routing.cc.

void DMRnms::Routing::addDomain ( const std::string &  domain,
const std::string &  addr,
const ModuleAlgs alg 
)

Definition at line 57 of file Routing.cc.

void DMRnms::Routing::addFlow ( const Address nAddr,
const std::string &  domain,
const std::string &  addr,
const unsigned short &  metric 
)

Definition at line 75 of file Routing.cc.

void DMRnms::Routing::chScheduleAt ( const std::string  domain,
const double &  time,
cMessage *  msg 
)

Definition at line 139 of file Routing.cc.

Referenced by DMRnms::rModule::scheduleAt().

void DMRnms::Routing::chSendUpdate ( RoutingUpdate update)

Definition at line 111 of file Routing.cc.

Referenced by DMRnmsDV::DV::handleMessage(), and DMRnmsLS::LS::handleMessage().

void DMRnms::Routing::finish ( )
virtual

Reimplemented from IntRouting.

Definition at line 159 of file Routing.cc.

dmUpdateM DMRnms::Routing::getAll ( )

Definition at line 126 of file Routing.cc.

Referenced by finish().

dmUpdateM DMRnms::Routing::getChanges ( )

Definition at line 117 of file Routing.cc.

void DMRnms::Routing::handleMessage ( cMessage *  msg)
virtual

Definition at line 146 of file Routing.cc.

void DMRnms::Routing::onPolicyInit ( )
protectedvirtual

Implements IntRouting.

Definition at line 136 of file Routing.cc.

bool DMRnms::Routing::processUpdate ( IntRoutingUpdate update)
virtual

Implements IntRouting.

Definition at line 38 of file Routing.cc.

void DMRnms::Routing::removeAddr ( const std::string &  domain,
const std::string &  addr 
)

Definition at line 96 of file Routing.cc.

void DMRnms::Routing::removeDomain ( const std::string &  domain)

Definition at line 67 of file Routing.cc.

void DMRnms::Routing::removeFlow ( const Address nAddr,
const std::string &  domain,
const std::string &  addr 
)

Definition at line 82 of file Routing.cc.

void DMRnms::Routing::setInfMetric ( const std::string &  domain,
const unsigned short &  inf 
)

Definition at line 104 of file Routing.cc.

Member Data Documentation

std::set<std::string> DMRnms::Routing::changedModules
protected

Definition at line 91 of file Routing.h.

Referenced by addAddr(), addFlow(), getChanges(), processUpdate(), removeAddr(), and removeFlow().

std::map<std::string, rModule*> DMRnms::Routing::rModules
protected

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