--- a/src/DIF/FA/FAITable.cc
+++ b/src/DIF/FA/FAITable.cc
@@ -76,14 +76,15 @@
return NULL;
}
-FAITableEntry* FAITable::findEntryByDstNeighborAndFwd(const APN& apname) {
+TFAIPtrs FAITable::findEntryByDstNeighborAndFwd(const APN& apname) {
+ TFAIPtrs list;
for(TFTIter it = FaiTable.begin(); it != FaiTable.end(); ++it) {
FAITableEntry tft = *it;
if (tft.getCFlow()->getDstNeighbor().getApname() == apname
- && tft.getAllocateStatus() == FAITableEntry::FORWARDED)
- return &(*it);
+ && tft.getAllocateStatus() == FAITableEntry::FORWARDING)
+ list.push_back(&(*it));
}
- return NULL;
+ return list;
}
FAITableEntry* FAITable::findEntryByInvokeId(long invId) {
@@ -103,7 +104,7 @@
void FAITable::insertNew(Flow* flow) {
this->insert(FAITableEntry(flow));
updateDisplayString();
- EV << "FT emits signal " << (long)FaiTable.size() << endl;
+ //EV << "FT emits signal " << (long)FaiTable.size() << endl;
emit(sigStatFTSize, (long)FaiTable.size());
}