route: updates to name prefixes are more efficent.
With this change, only entries that have changed next-hops will
cause any change in the name prefix table. Consequently, routing
table calculations no longer cause RIB registrations for unchanged
prefixes. However, this is not a problem because FIB entries
refresh themselves. This resulted in the removal of a test from the
TestNlsr suite.
refs: #2864
Change-Id: If28a04cb7bb47a3a6c32cd24578c68885d08d6b3
diff --git a/src/route/name-prefix-table.hpp b/src/route/name-prefix-table.hpp
index 3e91ea5..a4dabc4 100644
--- a/src/route/name-prefix-table.hpp
+++ b/src/route/name-prefix-table.hpp
@@ -36,12 +36,10 @@
class NamePrefixTable
{
public:
-
- typedef std::list<NamePrefixTableEntry> NptEntryList;
- typedef NptEntryList::const_iterator const_iterator;
-
- typedef std::unordered_map<ndn::Name, std::shared_ptr<RoutingTablePoolEntry>>
- RtpEntryMap;
+ using RoutingTableEntryPool =
+ std::unordered_map<ndn::Name, std::shared_ptr<RoutingTablePoolEntry>>;
+ using NptEntryList = std::list<std::shared_ptr<NamePrefixTableEntry>>;
+ using const_iterator = NptEntryList::const_iterator;
NamePrefixTable(Nlsr& nlsr)
: m_nlsr(nlsr)
@@ -122,7 +120,8 @@
end() const;
PUBLIC_WITH_TESTS_ELSE_PRIVATE:
- RtpEntryMap m_rtpool;
+ RoutingTableEntryPool m_rtpool;
+
NptEntryList m_table;
private: