link state to floyd warshall
i have link state coding at ns 2 simulator mybe can change to floyd warshall algoritma ??
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
LsPathsTentative methods
*/
LsPath LsPathsTentative::popShortestPath()
{
findMinEqualPaths();
LsPath path;
if (empty() || (minCostIterator == end()))
return path; // an invalid one
LsNodeIdList& nhList = (*minCostIterator).second.nextHopList;
if (nhList.empty() && (findMinEqualPaths() == end()))
return path;
path.destination = (*minCostIterator).first;
path.cost=(*minCostIterator).second.cost;
// the first 'nextHop'
path.nextHop = nhList.front();
nhList.pop_front();
// if this pops out the last nextHop in the EqualPaths, find a new one.
if (nhList.empty()) {
erase(minCostIterator);
findMinEqualPaths();
}
return path;
}
LsPathsTentative::iterator LsPathsTentative::findMinEqualPaths()
{
minCost = LS_MAX_COST + 1;
minCostIterator = end();
for (iterator itr = begin(); itr != end(); itr++){
if ((minCost > (*itr).second.cost) &&
!(*itr).second.nextHopList.empty()) {
minCost = (*itr).second.cost;
minCostIterator = itr;
}
}
return minCostIterator;
}
|
Topic archived. No new replies allowed.