33 for(std::map<std::string, rModule*>::iterator it =
rModules.begin(); it!=
rModules.end(); it++){
44 EV <<
"Received update from "<< up->
getSource() <<
" for \""<< up->
domain <<
"\" at "<< simTime() <<endl;
75 void Routing::addFlow(
const Address &nAddr,
const std::string &domain,
const std::string &addr,
const unsigned short &metric) {
77 rModules[domain]->addFlow(nAddr, addr, metric);
84 rModules[domain]->removeFlow(nAddr, addr);
106 rModules[domain]->setInfMetric(inf);
129 for(std::map<std::string, rModule*>::iterator it =
rModules.begin(); it!=
rModules.end(); it++){
130 dmu.push_back(it->second->getAll());
140 Enter_Method_Silent();
144 scheduleAt(simTime()+time, m);
160 if(par(
"printAtEnd").boolValue()){
165 EV <<
"Domain : \"" << it->domain<<
"\"" << endl;
166 for(
DMRnms::s2AIt eIt = it->entries.begin(); eIt != it->entries.end(); eIt++){
167 EV <<
" "<< eIt->first <<
" -> " << eIt->second << endl;
void addDomain(const std::string &domain, const std::string &addr, const ModuleAlgs &alg)
virtual void handleMessage(cMessage *msg)
std::set< std::string > changedModules
void addFlow(const Address &nAddr, const std::string &domain, const std::string &addr, const unsigned short &metric)
void chSendUpdate(RoutingUpdate *update)
void removeAddr(const std::string &domain, const std::string &addr)
void removeDomain(const std::string &domain)
void setInfMetric(const std::string &domain, const unsigned short &inf)
dmUpdateM::iterator dmUpdateMIt
std::map< std::string, rModule * > rModules
void removeFlow(const Address &nAddr, const std::string &domain, const std::string &addr)
void sendUpdate(IntRoutingUpdate *update)
void chScheduleAt(const std::string domain, const double &time, cMessage *msg)
void addAddr(const std::string &domain, const std::string &addr)
std::vector< dmNxt > dmUpdateM
Address class holds IPC Process identification.
bool processUpdate(IntRoutingUpdate *update)