Indentation
diff --git a/src/nlsr_lsdb.cpp b/src/nlsr_lsdb.cpp
index 28301f4..dbe5b86 100644
--- a/src/nlsr_lsdb.cpp
+++ b/src/nlsr_lsdb.cpp
@@ -3,699 +3,710 @@
#include "nlsr_lsdb.hpp"
#include "nlsr.hpp"
-namespace nlsr {
-
-using namespace std;
-
-void
-Lsdb::cancelScheduleLsaExpiringEvent(Nlsr& pnlsr, EventId eid)
+namespace nlsr
{
- pnlsr.getScheduler().cancelEvent(eid);
-}
-static bool
-nameLsaCompareByKey(NameLsa& nlsa1, string& key){
- return nlsa1.getNameLsaKey()==key;
-}
+ using namespace std;
+
+ void
+ Lsdb::cancelScheduleLsaExpiringEvent(Nlsr& pnlsr, EventId eid)
+ {
+ pnlsr.getScheduler().cancelEvent(eid);
+ }
+
+ static bool
+ nameLsaCompareByKey(NameLsa& nlsa1, string& key)
+ {
+ return nlsa1.getNameLsaKey()==key;
+ }
-bool
-Lsdb::buildAndInstallOwnNameLsa(Nlsr& pnlsr)
-{
- NameLsa nameLsa(pnlsr.getConfParameter().getRouterPrefix()
- , 1
- , pnlsr.getSm().getNameLsaSeq()+1
- , pnlsr.getConfParameter().getRouterDeadInterval()
- , pnlsr.getNpl() );
- pnlsr.getSm().setNameLsaSeq(pnlsr.getSm().getNameLsaSeq()+1);
- return installNameLsa(pnlsr,nameLsa);
+ bool
+ Lsdb::buildAndInstallOwnNameLsa(Nlsr& pnlsr)
+ {
+ NameLsa nameLsa(pnlsr.getConfParameter().getRouterPrefix()
+ , 1
+ , pnlsr.getSm().getNameLsaSeq()+1
+ , pnlsr.getConfParameter().getRouterDeadInterval()
+ , pnlsr.getNpl() );
+ pnlsr.getSm().setNameLsaSeq(pnlsr.getSm().getNameLsaSeq()+1);
+ return installNameLsa(pnlsr,nameLsa);
-}
+ }
-std::pair<NameLsa&, bool>
-Lsdb::getNameLsa(string key)
-{
- std::list<NameLsa >::iterator it = std::find_if( nameLsdb.begin(),
- nameLsdb.end(),
- bind(nameLsaCompareByKey, _1, key));
+ std::pair<NameLsa&, bool>
+ Lsdb::getNameLsa(string key)
+ {
+ std::list<NameLsa >::iterator it = std::find_if( nameLsdb.begin(),
+ nameLsdb.end(),
+ bind(nameLsaCompareByKey, _1, key));
- if( it != nameLsdb.end())
- {
- return std::make_pair(boost::ref((*it)),true);
- }
+ if( it != nameLsdb.end())
+ {
+ return std::make_pair(boost::ref((*it)),true);
+ }
- NameLsa nlsa;
- return std::make_pair(boost::ref(nlsa),false);
+ NameLsa nlsa;
+ return std::make_pair(boost::ref(nlsa),false);
-}
+ }
-ndn::EventId
-Lsdb::scheduleNameLsaExpiration(Nlsr& pnlsr, string key, int seqNo, int expTime)
-{
- return pnlsr.getScheduler().scheduleEvent(ndn::time::seconds(expTime),
- ndn::bind(&Lsdb::exprireOrRefreshNameLsa,
- this,boost::ref(pnlsr), key, seqNo));
-}
+ ndn::EventId
+ Lsdb::scheduleNameLsaExpiration(Nlsr& pnlsr, string key, int seqNo, int expTime)
+ {
+ return pnlsr.getScheduler().scheduleEvent(ndn::time::seconds(expTime),
+ ndn::bind(&Lsdb::exprireOrRefreshNameLsa,
+ this,boost::ref(pnlsr), key, seqNo));
+ }
-bool
-Lsdb::installNameLsa(Nlsr& pnlsr, NameLsa &nlsa)
-{
- int timeToExpire=lsaRefreshTime;
- std::pair<NameLsa& , bool> chkNameLsa=getNameLsa(nlsa.getNameLsaKey());
- if ( !chkNameLsa.second )
- {
- addNameLsa(nlsa);
- printNameLsdb();
- if ( nlsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
- {
- pnlsr.getNpt().addNpte(nlsa.getOrigRouter(),nlsa.getOrigRouter(),pnlsr);
- std::list<string> nameList=nlsa.getNpl().getNameList();
- for(std::list<string>::iterator it=nameList.begin(); it!=nameList.end();it++)
- {
- if ( (*it) !=pnlsr.getConfParameter().getRouterPrefix())
- {
- pnlsr.getNpt().addNpte((*it),nlsa.getOrigRouter(),pnlsr);
- }
- }
- }
+ bool
+ Lsdb::installNameLsa(Nlsr& pnlsr, NameLsa &nlsa)
+ {
+ int timeToExpire=lsaRefreshTime;
+ std::pair<NameLsa& , bool> chkNameLsa=getNameLsa(nlsa.getNameLsaKey());
+ if ( !chkNameLsa.second )
+ {
+ addNameLsa(nlsa);
+ printNameLsdb();
+ if ( nlsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
+ {
+ pnlsr.getNpt().addNpte(nlsa.getOrigRouter(),nlsa.getOrigRouter(),pnlsr);
+ std::list<string> nameList=nlsa.getNpl().getNameList();
+ for(std::list<string>::iterator it=nameList.begin(); it!=nameList.end(); it++)
+ {
+ if ( (*it) !=pnlsr.getConfParameter().getRouterPrefix())
+ {
+ pnlsr.getNpt().addNpte((*it),nlsa.getOrigRouter(),pnlsr);
+ }
+ }
+ }
- if(nlsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
- {
- timeToExpire=nlsa.getLifeTime();
- }
- nlsa.setLsaExpiringEventId(scheduleNameLsaExpiration( pnlsr,
- nlsa.getNameLsaKey(), nlsa.getLsSeqNo(), timeToExpire));
- }
- else
- {
- if ( chkNameLsa.first.getLsSeqNo() < nlsa.getLsSeqNo() )
- {
- chkNameLsa.first.setLsSeqNo(nlsa.getLsSeqNo());
- chkNameLsa.first.setLifeTime(nlsa.getLifeTime());
+ if(nlsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
+ {
+ timeToExpire=nlsa.getLifeTime();
+ }
+ nlsa.setLsaExpiringEventId(scheduleNameLsaExpiration( pnlsr,
+ nlsa.getNameLsaKey(), nlsa.getLsSeqNo(), timeToExpire));
+ }
+ else
+ {
+ if ( chkNameLsa.first.getLsSeqNo() < nlsa.getLsSeqNo() )
+ {
+ chkNameLsa.first.setLsSeqNo(nlsa.getLsSeqNo());
+ chkNameLsa.first.setLifeTime(nlsa.getLifeTime());
- chkNameLsa.first.getNpl().sortNpl();
- nlsa.getNpl().sortNpl();
+ chkNameLsa.first.getNpl().sortNpl();
+ nlsa.getNpl().sortNpl();
- std::list<string> nameToAdd;
- std::set_difference(nlsa.getNpl().getNameList().begin(),
- nlsa.getNpl().getNameList().end(),
- chkNameLsa.first.getNpl().getNameList().begin(),
- chkNameLsa.first.getNpl().getNameList().end(),
- std::inserter(nameToAdd, nameToAdd.begin()));
- for(std::list<string>::iterator it=nameToAdd.begin(); it!=nameToAdd.end();
- ++it)
- {
- chkNameLsa.first.addNameToLsa((*it));
- if ( nlsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
- {
- if ( (*it) !=pnlsr.getConfParameter().getRouterPrefix())
- {
- pnlsr.getNpt().addNpte((*it),nlsa.getOrigRouter(),pnlsr);
- }
- }
- }
-
- std::list<string> nameToRemove;
- std::set_difference(chkNameLsa.first.getNpl().getNameList().begin(),
- chkNameLsa.first.getNpl().getNameList().end(),
- nlsa.getNpl().getNameList().begin(),
- nlsa.getNpl().getNameList().end(),
- std::inserter(nameToRemove, nameToRemove.begin()));
- for(std::list<string>::iterator it=nameToRemove.begin();
- it!=nameToRemove.end(); ++it)
- {
- chkNameLsa.first.removeNameFromLsa((*it));
- if ( nlsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
- {
- if ( (*it) !=pnlsr.getConfParameter().getRouterPrefix())
- {
- pnlsr.getNpt().removeNpte((*it),nlsa.getOrigRouter(),pnlsr);
- }
- }
- }
+ std::list<string> nameToAdd;
+ std::set_difference(nlsa.getNpl().getNameList().begin(),
+ nlsa.getNpl().getNameList().end(),
+ chkNameLsa.first.getNpl().getNameList().begin(),
+ chkNameLsa.first.getNpl().getNameList().end(),
+ std::inserter(nameToAdd, nameToAdd.begin()));
+ for(std::list<string>::iterator it=nameToAdd.begin(); it!=nameToAdd.end();
+ ++it)
+ {
+ chkNameLsa.first.addNameToLsa((*it));
+ if ( nlsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
+ {
+ if ( (*it) !=pnlsr.getConfParameter().getRouterPrefix())
+ {
+ pnlsr.getNpt().addNpte((*it),nlsa.getOrigRouter(),pnlsr);
+ }
+ }
+ }
- if(nlsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
- {
- timeToExpire=nlsa.getLifeTime();
- }
- cancelScheduleLsaExpiringEvent(pnlsr,
- chkNameLsa.first.getLsaExpiringEventId());
- chkNameLsa.first.setLsaExpiringEventId(scheduleNameLsaExpiration( pnlsr,
- nlsa.getNameLsaKey(), nlsa.getLsSeqNo(), timeToExpire));
- }
- }
-
- return true;
-}
+ std::list<string> nameToRemove;
+ std::set_difference(chkNameLsa.first.getNpl().getNameList().begin(),
+ chkNameLsa.first.getNpl().getNameList().end(),
+ nlsa.getNpl().getNameList().begin(),
+ nlsa.getNpl().getNameList().end(),
+ std::inserter(nameToRemove, nameToRemove.begin()));
+ for(std::list<string>::iterator it=nameToRemove.begin();
+ it!=nameToRemove.end(); ++it)
+ {
+ chkNameLsa.first.removeNameFromLsa((*it));
+ if ( nlsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
+ {
+ if ( (*it) !=pnlsr.getConfParameter().getRouterPrefix())
+ {
+ pnlsr.getNpt().removeNpte((*it),nlsa.getOrigRouter(),pnlsr);
+ }
+ }
+ }
-bool
-Lsdb::addNameLsa(NameLsa &nlsa)
-{
- std::list<NameLsa >::iterator it = std::find_if( nameLsdb.begin(),
- nameLsdb.end(), bind(nameLsaCompareByKey, _1, nlsa.getNameLsaKey()));
+ if(nlsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
+ {
+ timeToExpire=nlsa.getLifeTime();
+ }
+ cancelScheduleLsaExpiringEvent(pnlsr,
+ chkNameLsa.first.getLsaExpiringEventId());
+ chkNameLsa.first.setLsaExpiringEventId(scheduleNameLsaExpiration( pnlsr,
+ nlsa.getNameLsaKey(), nlsa.getLsSeqNo(), timeToExpire));
+ }
+ }
- if( it == nameLsdb.end())
- {
- nameLsdb.push_back(nlsa);
- return true;
- }
- return false;
-}
+ return true;
+ }
-bool
-Lsdb::removeNameLsa(Nlsr& pnlsr, string& key)
-{
- std::list<NameLsa >::iterator it = std::find_if( nameLsdb.begin(),
- nameLsdb.end(),
- bind(nameLsaCompareByKey, _1, key));
- if ( it != nameLsdb.end() )
- {
- if ( (*it).getOrigRouter() != pnlsr.getConfParameter().getRouterPrefix() )
- {
- pnlsr.getNpt().removeNpte((*it).getOrigRouter(),(*it).getOrigRouter(),pnlsr);
- for( std::list<string>::iterator nit=(*it).getNpl().getNameList().begin();
- nit!=(*it).getNpl().getNameList().end(); ++nit)
- {
- if ( (*nit) !=pnlsr.getConfParameter().getRouterPrefix())
- {
- pnlsr.getNpt().removeNpte((*nit),(*it).getOrigRouter(),pnlsr);
- }
- }
-
- }
- nameLsdb.erase(it);
- return true;
- }
- return false;
-}
+ bool
+ Lsdb::addNameLsa(NameLsa &nlsa)
+ {
+ std::list<NameLsa >::iterator it = std::find_if( nameLsdb.begin(),
+ nameLsdb.end(), bind(nameLsaCompareByKey, _1, nlsa.getNameLsaKey()));
-bool
-Lsdb::doesNameLsaExist(string key)
-{
- std::list<NameLsa >::iterator it = std::find_if( nameLsdb.begin(),
- nameLsdb.end(),
- bind(nameLsaCompareByKey, _1, key));
+ if( it == nameLsdb.end())
+ {
+ nameLsdb.push_back(nlsa);
+ return true;
+ }
+ return false;
+ }
- if( it == nameLsdb.end()){
- return false;
- }
+ bool
+ Lsdb::removeNameLsa(Nlsr& pnlsr, string& key)
+ {
+ std::list<NameLsa >::iterator it = std::find_if( nameLsdb.begin(),
+ nameLsdb.end(),
+ bind(nameLsaCompareByKey, _1, key));
+ if ( it != nameLsdb.end() )
+ {
+ if ( (*it).getOrigRouter() != pnlsr.getConfParameter().getRouterPrefix() )
+ {
+ pnlsr.getNpt().removeNpte((*it).getOrigRouter(),(*it).getOrigRouter(),pnlsr);
+ for( std::list<string>::iterator nit=(*it).getNpl().getNameList().begin();
+ nit!=(*it).getNpl().getNameList().end(); ++nit)
+ {
+ if ( (*nit) !=pnlsr.getConfParameter().getRouterPrefix())
+ {
+ pnlsr.getNpt().removeNpte((*nit),(*it).getOrigRouter(),pnlsr);
+ }
+ }
- return true;
-}
+ }
+ nameLsdb.erase(it);
+ return true;
+ }
+ return false;
+ }
-void
-Lsdb::printNameLsdb()
-{
- cout<<"---------------Name LSDB-------------------"<<endl;
- for( std::list<NameLsa>::iterator it=nameLsdb.begin();
- it!= nameLsdb.end() ; it++)
- {
- cout<< (*it) <<endl;
- }
-}
+ bool
+ Lsdb::doesNameLsaExist(string key)
+ {
+ std::list<NameLsa >::iterator it = std::find_if( nameLsdb.begin(),
+ nameLsdb.end(),
+ bind(nameLsaCompareByKey, _1, key));
+
+ if( it == nameLsdb.end())
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ void
+ Lsdb::printNameLsdb()
+ {
+ cout<<"---------------Name LSDB-------------------"<<endl;
+ for( std::list<NameLsa>::iterator it=nameLsdb.begin();
+ it!= nameLsdb.end() ; it++)
+ {
+ cout<< (*it) <<endl;
+ }
+ }
// Cor LSA and LSDB related Functions start here
-static bool
-corLsaCompareByKey(CorLsa& clsa, string& key){
- return clsa.getCorLsaKey()==key;
-}
+ static bool
+ corLsaCompareByKey(CorLsa& clsa, string& key)
+ {
+ return clsa.getCorLsaKey()==key;
+ }
-bool
-Lsdb::buildAndInstallOwnCorLsa(Nlsr& pnlsr){
- CorLsa corLsa(pnlsr.getConfParameter().getRouterPrefix()
- , 3
- , pnlsr.getSm().getCorLsaSeq()+1
- , pnlsr.getConfParameter().getRouterDeadInterval()
- , pnlsr.getConfParameter().getCorR()
- , pnlsr.getConfParameter().getCorTheta() );
- pnlsr.getSm().setCorLsaSeq(pnlsr.getSm().getCorLsaSeq()+1);
- installCorLsa(pnlsr, corLsa);
+ bool
+ Lsdb::buildAndInstallOwnCorLsa(Nlsr& pnlsr)
+ {
+ CorLsa corLsa(pnlsr.getConfParameter().getRouterPrefix()
+ , 3
+ , pnlsr.getSm().getCorLsaSeq()+1
+ , pnlsr.getConfParameter().getRouterDeadInterval()
+ , pnlsr.getConfParameter().getCorR()
+ , pnlsr.getConfParameter().getCorTheta() );
+ pnlsr.getSm().setCorLsaSeq(pnlsr.getSm().getCorLsaSeq()+1);
+ installCorLsa(pnlsr, corLsa);
- return true;
-}
+ return true;
+ }
-std::pair<CorLsa&, bool>
-Lsdb::getCorLsa(string key)
-{
- std::list< CorLsa >::iterator it = std::find_if( corLsdb.begin(),
- corLsdb.end(),
- bind(corLsaCompareByKey, _1, key));
+ std::pair<CorLsa&, bool>
+ Lsdb::getCorLsa(string key)
+ {
+ std::list< CorLsa >::iterator it = std::find_if( corLsdb.begin(),
+ corLsdb.end(),
+ bind(corLsaCompareByKey, _1, key));
- if( it != corLsdb.end()){
- return std::make_pair(boost::ref((*it)), true);
- }
+ if( it != corLsdb.end())
+ {
+ return std::make_pair(boost::ref((*it)), true);
+ }
- CorLsa clsa;
- return std::make_pair(boost::ref(clsa),false);
-}
+ CorLsa clsa;
+ return std::make_pair(boost::ref(clsa),false);
+ }
-ndn::EventId
-Lsdb::scheduleCorLsaExpiration(Nlsr& pnlsr, string key, int seqNo, int expTime)
-{
- return pnlsr.getScheduler().scheduleEvent(ndn::time::seconds(expTime),
- ndn::bind(&Lsdb::exprireOrRefreshCorLsa,
- this,boost::ref(pnlsr),key,seqNo));
-}
+ ndn::EventId
+ Lsdb::scheduleCorLsaExpiration(Nlsr& pnlsr, string key, int seqNo, int expTime)
+ {
+ return pnlsr.getScheduler().scheduleEvent(ndn::time::seconds(expTime),
+ ndn::bind(&Lsdb::exprireOrRefreshCorLsa,
+ this,boost::ref(pnlsr),key,seqNo));
+ }
-bool
-Lsdb::installCorLsa(Nlsr& pnlsr, CorLsa &clsa)
-{
- int timeToExpire=lsaRefreshTime;
- std::pair<CorLsa& , bool> chkCorLsa=getCorLsa(clsa.getCorLsaKey());
- if ( !chkCorLsa.second )
- {
- addCorLsa(clsa);
- printCorLsdb(); //debugging purpose
- if ( clsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
- {
- pnlsr.getNpt().addNpte(clsa.getOrigRouter(),clsa.getOrigRouter(),pnlsr);
- }
- if (pnlsr.getConfParameter().getIsHyperbolicCalc() >=1 )
- {
- pnlsr.getRoutingTable().scheduleRoutingTableCalculation(pnlsr);
- }
+ bool
+ Lsdb::installCorLsa(Nlsr& pnlsr, CorLsa &clsa)
+ {
+ int timeToExpire=lsaRefreshTime;
+ std::pair<CorLsa& , bool> chkCorLsa=getCorLsa(clsa.getCorLsaKey());
+ if ( !chkCorLsa.second )
+ {
+ addCorLsa(clsa);
+ printCorLsdb(); //debugging purpose
+ if ( clsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
+ {
+ pnlsr.getNpt().addNpte(clsa.getOrigRouter(),clsa.getOrigRouter(),pnlsr);
+ }
+ if (pnlsr.getConfParameter().getIsHyperbolicCalc() >=1 )
+ {
+ pnlsr.getRoutingTable().scheduleRoutingTableCalculation(pnlsr);
+ }
- if(clsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
- {
- timeToExpire=clsa.getLifeTime();
- }
- scheduleCorLsaExpiration(pnlsr,clsa.getCorLsaKey(),
- clsa.getLsSeqNo(), timeToExpire);
-
- }
- else
- {
- if ( chkCorLsa.first.getLsSeqNo() < clsa.getLsSeqNo() )
- {
- chkCorLsa.first.setLsSeqNo(clsa.getLsSeqNo());
- chkCorLsa.first.setLifeTime(clsa.getLifeTime());
- if ( !chkCorLsa.first.isLsaContentEqual(clsa) )
- {
- chkCorLsa.first.setCorRadius(clsa.getCorRadius());
- chkCorLsa.first.setCorTheta(clsa.getCorTheta());
+ if(clsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
+ {
+ timeToExpire=clsa.getLifeTime();
+ }
+ scheduleCorLsaExpiration(pnlsr,clsa.getCorLsaKey(),
+ clsa.getLsSeqNo(), timeToExpire);
- if (pnlsr.getConfParameter().getIsHyperbolicCalc() >=1 )
- {
- pnlsr.getRoutingTable().scheduleRoutingTableCalculation(pnlsr);
- }
-
- }
+ }
+ else
+ {
+ if ( chkCorLsa.first.getLsSeqNo() < clsa.getLsSeqNo() )
+ {
+ chkCorLsa.first.setLsSeqNo(clsa.getLsSeqNo());
+ chkCorLsa.first.setLifeTime(clsa.getLifeTime());
+ if ( !chkCorLsa.first.isLsaContentEqual(clsa) )
+ {
+ chkCorLsa.first.setCorRadius(clsa.getCorRadius());
+ chkCorLsa.first.setCorTheta(clsa.getCorTheta());
- if(clsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
- {
- timeToExpire=clsa.getLifeTime();
- }
- cancelScheduleLsaExpiringEvent(pnlsr,
- chkCorLsa.first.getLsaExpiringEventId());
- chkCorLsa.first.setLsaExpiringEventId(scheduleCorLsaExpiration(pnlsr,
- clsa.getCorLsaKey(),
- clsa.getLsSeqNo(), timeToExpire));
- }
-
- }
-
- return true;
-}
+ if (pnlsr.getConfParameter().getIsHyperbolicCalc() >=1 )
+ {
+ pnlsr.getRoutingTable().scheduleRoutingTableCalculation(pnlsr);
+ }
-bool
-Lsdb::addCorLsa(CorLsa& clsa)
-{
- std::list<CorLsa >::iterator it = std::find_if( corLsdb.begin(),
- corLsdb.end(),
- bind(corLsaCompareByKey, _1, clsa.getCorLsaKey()));
+ }
- if( it == corLsdb.end())
- {
- corLsdb.push_back(clsa);
- return true;
- }
- return false;
-}
+ if(clsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
+ {
+ timeToExpire=clsa.getLifeTime();
+ }
+ cancelScheduleLsaExpiringEvent(pnlsr,
+ chkCorLsa.first.getLsaExpiringEventId());
+ chkCorLsa.first.setLsaExpiringEventId(scheduleCorLsaExpiration(pnlsr,
+ clsa.getCorLsaKey(),
+ clsa.getLsSeqNo(), timeToExpire));
+ }
-bool
-Lsdb::removeCorLsa(Nlsr& pnlsr, string& key)
-{
- std::list<CorLsa >::iterator it = std::find_if( corLsdb.begin(),
- corLsdb.end(),
- bind(corLsaCompareByKey, _1, key));
- if ( it != corLsdb.end() )
- {
- if ( (*it).getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
- {
- pnlsr.getNpt().removeNpte((*it).getOrigRouter(),(*it).getOrigRouter(),pnlsr);
- }
- corLsdb.erase(it);
- return true;
- }
- return false;
+ }
-}
+ return true;
+ }
-bool
-Lsdb::doesCorLsaExist(string key)
-{
- std::list<CorLsa >::iterator it = std::find_if( corLsdb.begin(),
- corLsdb.end(),
- bind(corLsaCompareByKey, _1, key));
+ bool
+ Lsdb::addCorLsa(CorLsa& clsa)
+ {
+ std::list<CorLsa >::iterator it = std::find_if( corLsdb.begin(),
+ corLsdb.end(),
+ bind(corLsaCompareByKey, _1, clsa.getCorLsaKey()));
- if( it == corLsdb.end()){
- return false;
- }
+ if( it == corLsdb.end())
+ {
+ corLsdb.push_back(clsa);
+ return true;
+ }
+ return false;
+ }
- return true;
-}
+ bool
+ Lsdb::removeCorLsa(Nlsr& pnlsr, string& key)
+ {
+ std::list<CorLsa >::iterator it = std::find_if( corLsdb.begin(),
+ corLsdb.end(),
+ bind(corLsaCompareByKey, _1, key));
+ if ( it != corLsdb.end() )
+ {
+ if ( (*it).getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
+ {
+ pnlsr.getNpt().removeNpte((*it).getOrigRouter(),(*it).getOrigRouter(),pnlsr);
+ }
+ corLsdb.erase(it);
+ return true;
+ }
+ return false;
-void
-Lsdb::printCorLsdb() //debugging
-{
- cout<<"---------------Cor LSDB-------------------"<<endl;
- for( std::list<CorLsa>::iterator it=corLsdb.begin();
- it!= corLsdb.end() ; it++)
- {
- cout<< (*it) <<endl;
- }
-}
+ }
+
+ bool
+ Lsdb::doesCorLsaExist(string key)
+ {
+ std::list<CorLsa >::iterator it = std::find_if( corLsdb.begin(),
+ corLsdb.end(),
+ bind(corLsaCompareByKey, _1, key));
+
+ if( it == corLsdb.end())
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ void
+ Lsdb::printCorLsdb() //debugging
+ {
+ cout<<"---------------Cor LSDB-------------------"<<endl;
+ for( std::list<CorLsa>::iterator it=corLsdb.begin();
+ it!= corLsdb.end() ; it++)
+ {
+ cout<< (*it) <<endl;
+ }
+ }
// Adj LSA and LSDB related function starts here
-static bool
-adjLsaCompareByKey(AdjLsa& alsa, string& key){
- return alsa.getAdjLsaKey()==key;
-}
+ static bool
+ adjLsaCompareByKey(AdjLsa& alsa, string& key)
+ {
+ return alsa.getAdjLsaKey()==key;
+ }
-void
-Lsdb::scheduledAdjLsaBuild(Nlsr& pnlsr)
-{
- cout<<"scheduledAdjLsaBuild Called"<<endl;
- pnlsr.setIsBuildAdjLsaSheduled(0);
+ void
+ Lsdb::scheduledAdjLsaBuild(Nlsr& pnlsr)
+ {
+ cout<<"scheduledAdjLsaBuild Called"<<endl;
+ pnlsr.setIsBuildAdjLsaSheduled(0);
- if( pnlsr.getAdl().isAdjLsaBuildable(pnlsr))
- {
- int adjBuildCount=pnlsr.getAdjBuildCount();
- if(adjBuildCount>0 )
- {
- if (pnlsr.getAdl().getNumOfActiveNeighbor()>0)
- {
- buildAndInstallOwnAdjLsa(pnlsr);
- }
- else
- {
- string key=pnlsr.getConfParameter().getRouterPrefix()+"/2";
- removeAdjLsa(pnlsr,key);
- pnlsr.getRoutingTable().scheduleRoutingTableCalculation(pnlsr);
- }
- pnlsr.setAdjBuildCount(pnlsr.getAdjBuildCount()-adjBuildCount);
- }
- }
- else
- {
- pnlsr.setIsBuildAdjLsaSheduled(1);
- int schedulingTime=pnlsr.getConfParameter().getInterestRetryNumber()*
- pnlsr.getConfParameter().getInterestResendTime();
- pnlsr.getScheduler().scheduleEvent(ndn::time::seconds(schedulingTime),
- ndn::bind(&Lsdb::scheduledAdjLsaBuild, pnlsr.getLsdb(),
- boost::ref(pnlsr)));
- }
+ if( pnlsr.getAdl().isAdjLsaBuildable(pnlsr))
+ {
+ int adjBuildCount=pnlsr.getAdjBuildCount();
+ if(adjBuildCount>0 )
+ {
+ if (pnlsr.getAdl().getNumOfActiveNeighbor()>0)
+ {
+ buildAndInstallOwnAdjLsa(pnlsr);
+ }
+ else
+ {
+ string key=pnlsr.getConfParameter().getRouterPrefix()+"/2";
+ removeAdjLsa(pnlsr,key);
+ pnlsr.getRoutingTable().scheduleRoutingTableCalculation(pnlsr);
+ }
+ pnlsr.setAdjBuildCount(pnlsr.getAdjBuildCount()-adjBuildCount);
+ }
+ }
+ else
+ {
+ pnlsr.setIsBuildAdjLsaSheduled(1);
+ int schedulingTime=pnlsr.getConfParameter().getInterestRetryNumber()*
+ pnlsr.getConfParameter().getInterestResendTime();
+ pnlsr.getScheduler().scheduleEvent(ndn::time::seconds(schedulingTime),
+ ndn::bind(&Lsdb::scheduledAdjLsaBuild, pnlsr.getLsdb(),
+ boost::ref(pnlsr)));
+ }
-}
+ }
-bool
-Lsdb::addAdjLsa(AdjLsa &alsa)
-{
- std::list<AdjLsa >::iterator it = std::find_if( adjLsdb.begin(),
- adjLsdb.end(),
- bind(adjLsaCompareByKey, _1, alsa.getAdjLsaKey()));
+ bool
+ Lsdb::addAdjLsa(AdjLsa &alsa)
+ {
+ std::list<AdjLsa >::iterator it = std::find_if( adjLsdb.begin(),
+ adjLsdb.end(),
+ bind(adjLsaCompareByKey, _1, alsa.getAdjLsaKey()));
- if( it == adjLsdb.end()){
- adjLsdb.push_back(alsa);
- return true;
- }
- return false;
-
-}
+ if( it == adjLsdb.end())
+ {
+ adjLsdb.push_back(alsa);
+ return true;
+ }
+ return false;
-std::pair<AdjLsa& , bool>
-Lsdb::getAdjLsa(string key)
-{
- std::list<AdjLsa >::iterator it = std::find_if( adjLsdb.begin(),
- adjLsdb.end(),
- bind(adjLsaCompareByKey, _1, key));
+ }
- if( it != adjLsdb.end()){
- return std::make_pair(boost::ref((*it)),true);
- }
+ std::pair<AdjLsa& , bool>
+ Lsdb::getAdjLsa(string key)
+ {
+ std::list<AdjLsa >::iterator it = std::find_if( adjLsdb.begin(),
+ adjLsdb.end(),
+ bind(adjLsaCompareByKey, _1, key));
- AdjLsa alsa;
- return std::make_pair(boost::ref(alsa),false);
-}
+ if( it != adjLsdb.end())
+ {
+ return std::make_pair(boost::ref((*it)),true);
+ }
+
+ AdjLsa alsa;
+ return std::make_pair(boost::ref(alsa),false);
+ }
-ndn::EventId
-Lsdb::scheduleAdjLsaExpiration(Nlsr& pnlsr, string key, int seqNo, int expTime)
-{
- return pnlsr.getScheduler().scheduleEvent(ndn::time::seconds(expTime),
- ndn::bind(&Lsdb::exprireOrRefreshAdjLsa,
- this,boost::ref(pnlsr),key,seqNo));
-}
+ ndn::EventId
+ Lsdb::scheduleAdjLsaExpiration(Nlsr& pnlsr, string key, int seqNo, int expTime)
+ {
+ return pnlsr.getScheduler().scheduleEvent(ndn::time::seconds(expTime),
+ ndn::bind(&Lsdb::exprireOrRefreshAdjLsa,
+ this,boost::ref(pnlsr),key,seqNo));
+ }
-bool
-Lsdb::installAdjLsa(Nlsr& pnlsr, AdjLsa &alsa)
-{
- int timeToExpire=lsaRefreshTime;
- std::pair<AdjLsa& , bool> chkAdjLsa=getAdjLsa(alsa.getAdjLsaKey());
- if ( !chkAdjLsa.second )
- {
- addAdjLsa(alsa);
- alsa.addNptEntriesForAdjLsa(pnlsr);
- pnlsr.getRoutingTable().scheduleRoutingTableCalculation(pnlsr);
+ bool
+ Lsdb::installAdjLsa(Nlsr& pnlsr, AdjLsa &alsa)
+ {
+ int timeToExpire=lsaRefreshTime;
+ std::pair<AdjLsa& , bool> chkAdjLsa=getAdjLsa(alsa.getAdjLsaKey());
+ if ( !chkAdjLsa.second )
+ {
+ addAdjLsa(alsa);
+ alsa.addNptEntriesForAdjLsa(pnlsr);
+ pnlsr.getRoutingTable().scheduleRoutingTableCalculation(pnlsr);
- if(alsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
- {
- timeToExpire=alsa.getLifeTime();
- }
- scheduleAdjLsaExpiration(pnlsr,alsa.getAdjLsaKey(),
- alsa.getLsSeqNo(),timeToExpire);
-
- }
- else
- {
- if ( chkAdjLsa.first.getLsSeqNo() < alsa.getLsSeqNo() )
- {
- chkAdjLsa.first.setLsSeqNo(alsa.getLsSeqNo());
- chkAdjLsa.first.setLifeTime(alsa.getLifeTime());
+ if(alsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
+ {
+ timeToExpire=alsa.getLifeTime();
+ }
+ scheduleAdjLsaExpiration(pnlsr,alsa.getAdjLsaKey(),
+ alsa.getLsSeqNo(),timeToExpire);
- if ( ! chkAdjLsa.first.isLsaContentEqual(alsa))
- {
- chkAdjLsa.first.getAdl().resetAdl();
- chkAdjLsa.first.getAdl().addAdjacentsFromAdl(alsa.getAdl());
- pnlsr.getRoutingTable().scheduleRoutingTableCalculation(pnlsr);
- }
-
- if(alsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
- {
- timeToExpire=alsa.getLifeTime();
- }
- cancelScheduleLsaExpiringEvent(pnlsr,
- chkAdjLsa.first.getLsaExpiringEventId());
- chkAdjLsa.first.setLsaExpiringEventId(scheduleAdjLsaExpiration(pnlsr,
- alsa.getAdjLsaKey(), alsa.getLsSeqNo(),timeToExpire));
- }
-
- }
+ }
+ else
+ {
+ if ( chkAdjLsa.first.getLsSeqNo() < alsa.getLsSeqNo() )
+ {
+ chkAdjLsa.first.setLsSeqNo(alsa.getLsSeqNo());
+ chkAdjLsa.first.setLifeTime(alsa.getLifeTime());
- printAdjLsdb();
-
- return true;
-}
+ if ( ! chkAdjLsa.first.isLsaContentEqual(alsa))
+ {
+ chkAdjLsa.first.getAdl().resetAdl();
+ chkAdjLsa.first.getAdl().addAdjacentsFromAdl(alsa.getAdl());
+ pnlsr.getRoutingTable().scheduleRoutingTableCalculation(pnlsr);
+ }
-bool
-Lsdb::buildAndInstallOwnAdjLsa(Nlsr& pnlsr)
-{
- AdjLsa adjLsa(pnlsr.getConfParameter().getRouterPrefix()
- , 2
- , pnlsr.getSm().getAdjLsaSeq()+1
- , pnlsr.getConfParameter().getRouterDeadInterval()
- , pnlsr.getAdl().getNumOfActiveNeighbor()
- , pnlsr.getAdl() );
- pnlsr.getSm().setAdjLsaSeq(pnlsr.getSm().getAdjLsaSeq()+1);
- return installAdjLsa(pnlsr, adjLsa);
-}
+ if(alsa.getOrigRouter() !=pnlsr.getConfParameter().getRouterPrefix() )
+ {
+ timeToExpire=alsa.getLifeTime();
+ }
+ cancelScheduleLsaExpiringEvent(pnlsr,
+ chkAdjLsa.first.getLsaExpiringEventId());
+ chkAdjLsa.first.setLsaExpiringEventId(scheduleAdjLsaExpiration(pnlsr,
+ alsa.getAdjLsaKey(), alsa.getLsSeqNo(),timeToExpire));
+ }
-bool
-Lsdb::removeAdjLsa(Nlsr& pnlsr, string& key)
-{
- std::list<AdjLsa >::iterator it = std::find_if( adjLsdb.begin(),
- adjLsdb.end(),
- bind(adjLsaCompareByKey, _1, key));
- if ( it != adjLsdb.end() )
- {
- (*it).removeNptEntriesForAdjLsa(pnlsr);
- adjLsdb.erase(it);
- return true;
- }
- return false;
-
-}
+ }
-bool
-Lsdb::doesAdjLsaExist(string key)
-{
- std::list< AdjLsa >::iterator it = std::find_if( adjLsdb.begin(),
- adjLsdb.end(),
- bind(adjLsaCompareByKey, _1, key));
+ printAdjLsdb();
- if( it == adjLsdb.end()){
- return false;
- }
+ return true;
+ }
- return true;
-}
+ bool
+ Lsdb::buildAndInstallOwnAdjLsa(Nlsr& pnlsr)
+ {
+ AdjLsa adjLsa(pnlsr.getConfParameter().getRouterPrefix()
+ , 2
+ , pnlsr.getSm().getAdjLsaSeq()+1
+ , pnlsr.getConfParameter().getRouterDeadInterval()
+ , pnlsr.getAdl().getNumOfActiveNeighbor()
+ , pnlsr.getAdl() );
+ pnlsr.getSm().setAdjLsaSeq(pnlsr.getSm().getAdjLsaSeq()+1);
+ return installAdjLsa(pnlsr, adjLsa);
+ }
-std::list<AdjLsa>&
-Lsdb::getAdjLsdb()
-{
- return adjLsdb;
-}
+ bool
+ Lsdb::removeAdjLsa(Nlsr& pnlsr, string& key)
+ {
+ std::list<AdjLsa >::iterator it = std::find_if( adjLsdb.begin(),
+ adjLsdb.end(),
+ bind(adjLsaCompareByKey, _1, key));
+ if ( it != adjLsdb.end() )
+ {
+ (*it).removeNptEntriesForAdjLsa(pnlsr);
+ adjLsdb.erase(it);
+ return true;
+ }
+ return false;
-void
-Lsdb::setLsaRefreshTime(int lrt)
-{
- lsaRefreshTime=lrt;
-}
+ }
-void
-Lsdb::setThisRouterPrefix(string trp)
-{
- thisRouterPrefix=trp;
-}
+ bool
+ Lsdb::doesAdjLsaExist(string key)
+ {
+ std::list< AdjLsa >::iterator it = std::find_if( adjLsdb.begin(),
+ adjLsdb.end(),
+ bind(adjLsaCompareByKey, _1, key));
-void
-Lsdb::exprireOrRefreshNameLsa(Nlsr& pnlsr, string lsaKey, int seqNo)
-{
- cout<<"Lsdb::exprireOrRefreshNameLsa Called "<<endl;
- cout<<"LSA Key : "<<lsaKey<<" Seq No: "<<endl;
- std::pair<NameLsa& , bool> chkNameLsa=getNameLsa(lsaKey);
- if( chkNameLsa.second )
- {
- cout<<" LSA Exists with seq no: "<<chkNameLsa.first.getLsSeqNo()<<endl;
- if ( chkNameLsa.first.getLsSeqNo() == seqNo )
- {
- if(chkNameLsa.first.getOrigRouter() == thisRouterPrefix )
- {
- cout<<"Own Name LSA, so refreshing name LSA"<<endl;
- chkNameLsa.first.setLsSeqNo(chkNameLsa.first.getLsSeqNo()+1);
- pnlsr.getSm().setNameLsaSeq(chkNameLsa.first.getLsSeqNo());
- // publish routing update
- }
- else
- {
- cout<<"Other's Name LSA, so removing form LSDB"<<endl;
- removeNameLsa(pnlsr, lsaKey);
- }
- }
- }
-}
+ if( it == adjLsdb.end())
+ {
+ return false;
+ }
-void
-Lsdb::exprireOrRefreshAdjLsa(Nlsr& pnlsr, string lsaKey, int seqNo)
-{
- cout<<"Lsdb::exprireOrRefreshAdjLsa Called "<<endl;
- cout<<"LSA Key : "<<lsaKey<<" Seq No: "<<endl;
- std::pair<AdjLsa& , bool> chkAdjLsa=getAdjLsa(lsaKey);
- if( chkAdjLsa.second )
- {
- cout<<" LSA Exists with seq no: "<<chkAdjLsa.first.getLsSeqNo()<<endl;
- if ( chkAdjLsa.first.getLsSeqNo() == seqNo )
- {
- if(chkAdjLsa.first.getOrigRouter() == thisRouterPrefix )
- {
- cout<<"Own Adj LSA, so refreshing Adj LSA"<<endl;
- chkAdjLsa.first.setLsSeqNo(chkAdjLsa.first.getLsSeqNo()+1);
- pnlsr.getSm().setAdjLsaSeq(chkAdjLsa.first.getLsSeqNo());
- // publish routing update
- }
- else
- {
- cout<<"Other's Adj LSA, so removing form LSDB"<<endl;
- removeAdjLsa(pnlsr, lsaKey);
- }
+ return true;
+ }
- // schedule Routing table calculaiton
- pnlsr.getRoutingTable().scheduleRoutingTableCalculation(pnlsr);
- }
- }
-}
+ std::list<AdjLsa>&
+ Lsdb::getAdjLsdb()
+ {
+ return adjLsdb;
+ }
-void
-Lsdb::exprireOrRefreshCorLsa(Nlsr& pnlsr, string lsaKey, int seqNo)
-{
- cout<<"Lsdb::exprireOrRefreshCorLsa Called "<<endl;
- cout<<"LSA Key : "<<lsaKey<<" Seq No: "<<endl;
- std::pair<CorLsa& , bool> chkCorLsa=getCorLsa(lsaKey);
- if( chkCorLsa.second )
- {
- cout<<" LSA Exists with seq no: "<<chkCorLsa.first.getLsSeqNo()<<endl;
- if ( chkCorLsa.first.getLsSeqNo() == seqNo )
- {
- if(chkCorLsa.first.getOrigRouter() == thisRouterPrefix )
- {
- cout<<"Own Cor LSA, so refreshing Cor LSA"<<endl;
- chkCorLsa.first.setLsSeqNo(chkCorLsa.first.getLsSeqNo()+1);
- pnlsr.getSm().setCorLsaSeq(chkCorLsa.first.getLsSeqNo());
- // publish routing update
- }
- else
- {
- cout<<"Other's Cor LSA, so removing form LSDB"<<endl;
- removeCorLsa(pnlsr, lsaKey);
- }
+ void
+ Lsdb::setLsaRefreshTime(int lrt)
+ {
+ lsaRefreshTime=lrt;
+ }
- if (pnlsr.getConfParameter().getIsHyperbolicCalc() >=1 )
- {
- pnlsr.getRoutingTable().scheduleRoutingTableCalculation(pnlsr);
- }
- }
- }
-}
+ void
+ Lsdb::setThisRouterPrefix(string trp)
+ {
+ thisRouterPrefix=trp;
+ }
+
+ void
+ Lsdb::exprireOrRefreshNameLsa(Nlsr& pnlsr, string lsaKey, int seqNo)
+ {
+ cout<<"Lsdb::exprireOrRefreshNameLsa Called "<<endl;
+ cout<<"LSA Key : "<<lsaKey<<" Seq No: "<<endl;
+ std::pair<NameLsa& , bool> chkNameLsa=getNameLsa(lsaKey);
+ if( chkNameLsa.second )
+ {
+ cout<<" LSA Exists with seq no: "<<chkNameLsa.first.getLsSeqNo()<<endl;
+ if ( chkNameLsa.first.getLsSeqNo() == seqNo )
+ {
+ if(chkNameLsa.first.getOrigRouter() == thisRouterPrefix )
+ {
+ cout<<"Own Name LSA, so refreshing name LSA"<<endl;
+ chkNameLsa.first.setLsSeqNo(chkNameLsa.first.getLsSeqNo()+1);
+ pnlsr.getSm().setNameLsaSeq(chkNameLsa.first.getLsSeqNo());
+ // publish routing update
+ }
+ else
+ {
+ cout<<"Other's Name LSA, so removing form LSDB"<<endl;
+ removeNameLsa(pnlsr, lsaKey);
+ }
+ }
+ }
+ }
+
+ void
+ Lsdb::exprireOrRefreshAdjLsa(Nlsr& pnlsr, string lsaKey, int seqNo)
+ {
+ cout<<"Lsdb::exprireOrRefreshAdjLsa Called "<<endl;
+ cout<<"LSA Key : "<<lsaKey<<" Seq No: "<<endl;
+ std::pair<AdjLsa& , bool> chkAdjLsa=getAdjLsa(lsaKey);
+ if( chkAdjLsa.second )
+ {
+ cout<<" LSA Exists with seq no: "<<chkAdjLsa.first.getLsSeqNo()<<endl;
+ if ( chkAdjLsa.first.getLsSeqNo() == seqNo )
+ {
+ if(chkAdjLsa.first.getOrigRouter() == thisRouterPrefix )
+ {
+ cout<<"Own Adj LSA, so refreshing Adj LSA"<<endl;
+ chkAdjLsa.first.setLsSeqNo(chkAdjLsa.first.getLsSeqNo()+1);
+ pnlsr.getSm().setAdjLsaSeq(chkAdjLsa.first.getLsSeqNo());
+ // publish routing update
+ }
+ else
+ {
+ cout<<"Other's Adj LSA, so removing form LSDB"<<endl;
+ removeAdjLsa(pnlsr, lsaKey);
+ }
+
+ // schedule Routing table calculaiton
+ pnlsr.getRoutingTable().scheduleRoutingTableCalculation(pnlsr);
+ }
+ }
+ }
+
+ void
+ Lsdb::exprireOrRefreshCorLsa(Nlsr& pnlsr, string lsaKey, int seqNo)
+ {
+ cout<<"Lsdb::exprireOrRefreshCorLsa Called "<<endl;
+ cout<<"LSA Key : "<<lsaKey<<" Seq No: "<<endl;
+ std::pair<CorLsa& , bool> chkCorLsa=getCorLsa(lsaKey);
+ if( chkCorLsa.second )
+ {
+ cout<<" LSA Exists with seq no: "<<chkCorLsa.first.getLsSeqNo()<<endl;
+ if ( chkCorLsa.first.getLsSeqNo() == seqNo )
+ {
+ if(chkCorLsa.first.getOrigRouter() == thisRouterPrefix )
+ {
+ cout<<"Own Cor LSA, so refreshing Cor LSA"<<endl;
+ chkCorLsa.first.setLsSeqNo(chkCorLsa.first.getLsSeqNo()+1);
+ pnlsr.getSm().setCorLsaSeq(chkCorLsa.first.getLsSeqNo());
+ // publish routing update
+ }
+ else
+ {
+ cout<<"Other's Cor LSA, so removing form LSDB"<<endl;
+ removeCorLsa(pnlsr, lsaKey);
+ }
+
+ if (pnlsr.getConfParameter().getIsHyperbolicCalc() >=1 )
+ {
+ pnlsr.getRoutingTable().scheduleRoutingTableCalculation(pnlsr);
+ }
+ }
+ }
+ }
-void
-Lsdb::printAdjLsdb()
-{
- cout<<"---------------Adj LSDB-------------------"<<endl;
- for( std::list<AdjLsa>::iterator it=adjLsdb.begin();
- it!= adjLsdb.end() ; it++)
- {
- cout<< (*it) <<endl;
- }
-}
+ void
+ Lsdb::printAdjLsdb()
+ {
+ cout<<"---------------Adj LSDB-------------------"<<endl;
+ for( std::list<AdjLsa>::iterator it=adjLsdb.begin();
+ it!= adjLsdb.end() ; it++)
+ {
+ cout<< (*it) <<endl;
+ }
+ }
//-----utility function -----
-bool
-Lsdb::doesLsaExist(string key, int lsType)
-{
- if ( lsType == 1)
- {
- return doesNameLsaExist(key);
- }
- else if ( lsType == 2)
- {
- return doesAdjLsaExist(key);
- }
- else if ( lsType == 3)
- {
- return doesCorLsaExist(key);
- }
-
- return false;
-}
+ bool
+ Lsdb::doesLsaExist(string key, int lsType)
+ {
+ if ( lsType == 1)
+ {
+ return doesNameLsaExist(key);
+ }
+ else if ( lsType == 2)
+ {
+ return doesAdjLsaExist(key);
+ }
+ else if ( lsType == 3)
+ {
+ return doesCorLsaExist(key);
+ }
+
+ return false;
+ }
}//namespace nlsr