38 uint32_t bitsPerDigit,
47 for (uint32_t i = numberOfNeighbors; i>0; i--)
56 std::vector<PastryExtendedNode>::const_iterator it;
60 if (!it->node.isUnspecified()) {
72 std::vector<PastryExtendedNode>::const_iterator it;
82 if (it->node.isUnspecified())
break;
89 if (it->node.isUnspecified())
break;
100 std::vector<PastryExtendedNode>::const_iterator it;
103 if (! it->node.isUnspecified())
104 nodes->
add(it->node);
110 std::vector<PastryExtendedNode>::iterator it;
112 bool nodeAlreadyInVector =
false;
113 bool nodeValueWasChanged =
false;
116 if (!it->node.isUnspecified() && it->node == node) {
117 if (prox == SimTime::getMaxTime() || it->rtt == prox)
return false;
119 nodeAlreadyInVector =
true;
125 if (it->node.isUnspecified() || (it->rtt > prox)) {
126 nodeValueWasChanged =
true;
131 if (!nodeAlreadyInVector)
neighbors.pop_back();
132 return !nodeAlreadyInVector && nodeValueWasChanged;
138 std::vector<PastryExtendedNode>::const_iterator it;
141 if (! it->node.isUnspecified())
142 affected.push_back(it->node);
148 std::vector<PastryExtendedNode>::iterator it;
151 if (it->node.isUnspecified())
break;
152 if (it->node.getIp() == failed.
getIp()) {
167 if (n.
rtt != SimTime::getMaxTime())
168 os <<
" Ping: " << n.
rtt;