limits: Introducing modularity for Interest limits
Now ndn::Limits object can be aggregated on a face/FIB entry. A
forwarding strategy module is responsible in creating an appropriate
implementation of the Interest limits module.
diff --git a/model/fib/ndn-fib-entry.h b/model/fib/ndn-fib-entry.h
index c8072f4..272d801 100644
--- a/model/fib/ndn-fib-entry.h
+++ b/model/fib/ndn-fib-entry.h
@@ -165,7 +165,7 @@
* \brief Structure for FIB table entry, holding indexed list of
* available faces and their respective metrics
*/
-class Entry : public SimpleRefCount<Entry>
+class Entry : public Object
{
public:
class NoFaces {}; ///< @brief Exception class for the case when FIB entry is not found
@@ -178,7 +178,6 @@
: m_prefix (prefix)
, m_needsProbing (false)
{
- m_limits = CreateObject<Limits> ();
}
/**
@@ -231,15 +230,6 @@
m_faces.erase (face);
}
- /**
- * @brief Get reference to limits object
- */
- Limits &
- GetLimits ()
- {
- return *m_limits;
- }
-
private:
friend std::ostream& operator<< (std::ostream& os, const Entry &entry);
@@ -248,8 +238,6 @@
FaceMetricContainer::type m_faces; ///< \brief Indexed list of faces
bool m_needsProbing; ///< \brief flag indicating that probing should be performed
-
- Ptr<Limits> m_limits;
};
std::ostream& operator<< (std::ostream& os, const Entry &entry);