Correcting everything to the stage that everything compiles
diff --git a/model/ccnx-fib.h b/model/ccnx-fib.h
index 4410b59..2bd131c 100644
--- a/model/ccnx-fib.h
+++ b/model/ccnx-fib.h
@@ -150,6 +150,8 @@
class CcnxFibEntry : public SimpleRefCount<CcnxFibEntry>
{
public:
+ class NoFaces {};
+
/**
* \brief Constructor
* \param prefix Prefix for the FIB entry
@@ -163,16 +165,22 @@
* \brief Update status of FIB next hop
* \param status Status to set on the FIB entry
*/
- void UpdateStatus (const CcnxFace &face, CcnxFibFaceMetric::Status status);
+ void UpdateStatus (Ptr<CcnxFace> face, CcnxFibFaceMetric::Status status);
- // /**
- // * \brief Add or update routing metric of FIB next hop
- // *
- // * Initial status of the next hop is set to YELLOW
- // */
- // void AddOrUpdateRoutingMetric (Ptr<CcnxFace> face, int32_t metric);
+ /**
+ * \brief Add or update routing metric of FIB next hop
+ *
+ * Initial status of the next hop is set to YELLOW
+ */
+ void AddOrUpdateRoutingMetric (Ptr<CcnxFace> face, int32_t metric);
/**
+ * @brief Update RTT averages for the face
+ */
+ void
+ UpdateFaceRtt (Ptr<CcnxFace> face, const Time &sample);
+
+ /**
* \brief Get prefix for the FIB entry
*/
const CcnxNameComponents&
@@ -180,9 +188,11 @@
/**
* \brief Find "best route" candidate, skipping `skip' first candidates (modulo # of faces)
+ *
+ * throws CcnxFibEntry::NoFaces if m_faces.size()==0
*/
- Ptr<CcnxFace>
- FindBestCandidate (int skip = 0) const;
+ const CcnxFibFaceMetric &
+ FindBestCandidate (uint32_t skip = 0) const;
private:
friend std::ostream& operator<< (std::ostream& os, const CcnxFibEntry &entry);