33 std::multimap<size_t, const name_tree::Entry*> maybeEmptyNtes;
38 if (fibEntry !=
nullptr) {
42 for (
const auto& pitEntry : nte.getPitEntries()) {
46 if (!nte.hasTableEntries()) {
47 maybeEmptyNtes.emplace(nte.getName().size(), &nte);
52 for (
auto i = maybeEmptyNtes.rbegin(); i != maybeEmptyNtes.rend(); ++i) {
53 nt.eraseIfEmpty(const_cast<name_tree::Entry*>(i->second),
false);
56 BOOST_ASSERT(nt.size() == 0 ||
57 std::none_of(nt.begin(), nt.end(),
void cleanupOnFaceRemoval(NameTree &nt, Fib &fib, Pit &pit, const Face &face)
cleanup tables when a face is destroyed
A common index structure for FIB, PIT, StrategyChoice, and Measurements.
Represents the Forwarding Information Base (FIB)
Copyright (c) 2014-2015, Regents of the University of California, Arizona Board of Regents...
void deleteInOutRecords(Entry *entry, const Face &face)
Deletes in-records and out-records for face.
generalization of a network interface
An entry in the name tree.
Represents the Interest Table.
RemoveNextHopResult removeNextHop(Entry &entry, const Face &face)
Remove the NextHop record for face from entry.