33 std::multimap<size_t, const name_tree::Entry*> maybeEmptyNtes;
38 if (fibEntry !=
nullptr) {
42 for (
const auto& pitEntry : nte.getPitEntries()) {
43 pit.deleteInOutRecords(pitEntry.get(), face);
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
Copyright (c) 2014-2015, Regents of the University of California, Arizona Board of Regents...
an entry in the name tree
void removeNextHop(const Face &face)
removes a NextHop record