limits: Adding ability for GlobalRoutingController to set precise BDP prefix limits using knowledge of RTT for destination
diff --git a/utils/ndn-limits.h b/utils/ndn-limits.h
index 5fdad53..d1daa10 100644
--- a/utils/ndn-limits.h
+++ b/utils/ndn-limits.h
@@ -83,6 +83,13 @@
}
/**
+ * @brief Get maximum limit (interpretation of the limit depends on realization)
+ */
+ virtual
+ double
+ GetMaxLimit () const = 0;
+
+ /**
* @brief Check whether limits are enabled or not
*/
virtual inline bool
@@ -110,6 +117,15 @@
*/
virtual double
GetCurrentLimit () const = 0;
+
+ /**
+ * @brief Get value of the current limit in terms of maximum rate that needs to be enforced
+ *
+ * Compared to GetCurrentLimit, this method guarantees that the returned value is maximum number of packets
+ * that can be send out within one second (max "rate")
+ */
+ virtual double
+ GetCurrentLimitRate () const = 0;
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
@@ -135,6 +151,26 @@
virtual void
ReturnLimit () = 0;
+ /**
+ * @brief Set link delay (in seconds)
+ *
+ * This is a supplementary information that may or may not be useful for limits
+ */
+ virtual void
+ SetLinkDelay (double delay)
+ {
+ m_linkDelay = delay;
+ }
+
+ /**
+ * @brief Get link delay (in seconds)
+ */
+ virtual double
+ GetLinkDelay () const
+ {
+ return m_linkDelay;
+ }
+
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
@@ -154,6 +190,8 @@
double m_maxDelay;
CallbackHandler m_handler;
+
+ double m_linkDelay;
};