35 std::multimap<size_t, const name_tree::Entry*> maybeEmptyNtes;
40 if (fibEntry !=
nullptr) {
44 for (
const auto& pitEntry : nte.getPitEntries()) {
48 if (!nte.hasTableEntries()) {
49 maybeEmptyNtes.emplace(nte.getName().size(), &nte);
54 for (
auto i = maybeEmptyNtes.rbegin(); i != maybeEmptyNtes.rend(); ++i) {
58 BOOST_ASSERT(nt.
size() == 0 ||
Generalization of a network interface.
Represents an entry in the FIB.
Represents the Forwarding Information Base (FIB).
RemoveNextHopResult removeNextHop(Entry &entry, const Face &face)
Remove the NextHop record for face from entry.
An entry in the name tree.
A common index structure for FIB, PIT, StrategyChoice, and Measurements.
const_iterator end() const
size_t eraseIfEmpty(Entry *entry, bool canEraseAncestors=true)
Delete the entry if it is empty.
const_iterator begin() const
void deleteInOutRecords(Entry *entry, const Face &face)
Deletes in-records and out-records for face.
void cleanupOnFaceRemoval(NameTree &nt, Fib &fib, Pit &pit, const Face &face)
Cleanup tables when a face is destroyed.