New implementation of FIB seems to be working now
diff --git a/model/ccnx-fib-impl.h b/model/ccnx-fib-impl.h
index b10d558..5ef9610 100644
--- a/model/ccnx-fib-impl.h
+++ b/model/ccnx-fib-impl.h
@@ -110,14 +110,14 @@
void
Remove (const Ptr<const CcnxNameComponents> &prefix);
- /**
- * @brief Invalidate FIB entry ("Safe" version of Remove)
- *
- * All faces for the entry will be assigned maximum routing metric and NDN_FIB_RED status
- * @param name Smart pointer to prefix
- */
- void
- Invalidate (const Ptr<const CcnxNameComponents> &prefix);
+ // /**
+ // * @brief Invalidate FIB entry ("Safe" version of Remove)
+ // *
+ // * All faces for the entry will be assigned maximum routing metric and NDN_FIB_RED status
+ // * @param name Smart pointer to prefix
+ // */
+ // void
+ // Invalidate (const Ptr<const CcnxNameComponents> &prefix);
/**
* @brief Invalidate all FIB entries
@@ -126,13 +126,6 @@
InvalidateAll ();
/**
- * @brief Remove reference to a face from the entry. If entry had only this face, the whole
- * entry will be removed
- */
- void
- Remove (const CcnxFibEntry &entry, Ptr<CcnxFace> face);
-
- /**
* @brief Remove all references to a face from FIB. If for some enty that face was the only element,
* this FIB entry will be removed.
*/
@@ -149,13 +142,27 @@
bool
modify (CcnxFib::iterator position, Modifier mod)
{
- return this->modify (position, mod);
+ mod (*position);
+
+ return true;
+ // somehow we need to obtain trie iterator from the payload...
+ // super::getPolicy ().
+ // return super::modify (position, mod);
}
protected:
// inherited from Object class
virtual void NotifyNewAggregate (); ///< @brief Notify when object is aggregated
virtual void DoDispose (); ///< @brief Perform cleanup
+
+private:
+ /**
+ * @brief Remove reference to a face from the entry. If entry had only this face, the whole
+ * entry will be removed
+ */
+ void
+ Remove (super::parent_trie &item, Ptr<CcnxFace> face);
+
private:
Ptr<Node> m_node;