fw: eliminate Forwarder::dispatchToStrategy()
Change-Id: Ia2e58c66548644fe3395f7e8c65e860554484fc8
diff --git a/daemon/fw/forwarder.cpp b/daemon/fw/forwarder.cpp
index 8301014..e5c0c20 100644
--- a/daemon/fw/forwarder.cpp
+++ b/daemon/fw/forwarder.cpp
@@ -211,11 +211,9 @@
return;
}
- // dispatch to strategy: after incoming Interest
- this->dispatchToStrategy(*pitEntry,
- [&] (auto& strategy) {
- strategy.afterReceiveInterest(FaceEndpoint(ingress.face, 0), interest, pitEntry);
- });
+ // dispatch to strategy: after receive Interest
+ m_strategyChoice.findEffectiveStrategy(*pitEntry)
+ .afterReceiveInterest(FaceEndpoint(ingress.face, 0), interest, pitEntry);
}
void
@@ -236,8 +234,7 @@
this->setExpiryTimer(pitEntry, 0_ms);
// dispatch to strategy: after Content Store hit
- this->dispatchToStrategy(*pitEntry,
- [&] (auto& strategy) { strategy.afterContentStoreHit(pitEntry, ingress, data); });
+ m_strategyChoice.findEffectiveStrategy(*pitEntry).afterContentStoreHit(pitEntry, ingress, data);
}
pit::OutRecord*
@@ -324,8 +321,7 @@
this->setExpiryTimer(pitEntry, 0_ms);
// trigger strategy: after receive Data
- this->dispatchToStrategy(*pitEntry,
- [&] (auto& strategy) { strategy.afterReceiveData(pitEntry, ingress, data); });
+ m_strategyChoice.findEffectiveStrategy(*pitEntry).afterReceiveData(pitEntry, ingress, data);
// mark PIT satisfied
pitEntry->isSatisfied = true;
@@ -357,8 +353,7 @@
this->setExpiryTimer(pitEntry, 0_ms);
// invoke PIT satisfy callback
- this->dispatchToStrategy(*pitEntry,
- [&] (auto& strategy) { strategy.beforeSatisfyInterest(pitEntry, ingress, data); });
+ m_strategyChoice.findEffectiveStrategy(*pitEntry).beforeSatisfyInterest(pitEntry, ingress, data);
// mark PIT satisfied
pitEntry->isSatisfied = true;
@@ -480,8 +475,7 @@
}
// trigger strategy: after receive NACK
- this->dispatchToStrategy(*pitEntry,
- [&] (auto& strategy) { strategy.afterReceiveNack(ingress, nack, pitEntry); });
+ m_strategyChoice.findEffectiveStrategy(*pitEntry).afterReceiveNack(ingress, nack, pitEntry);
}
bool
@@ -555,8 +549,7 @@
for (const auto& nte : affectedEntries) {
for (const auto& pitEntry : nte.getPitEntries()) {
- this->dispatchToStrategy(*pitEntry,
- [&] (auto& strategy) { strategy.afterNewNextHop(nextHop, pitEntry); });
+ m_strategyChoice.findEffectiveStrategy(*pitEntry).afterNewNextHop(nextHop, pitEntry);
}
}
}