Another set of refactoring
diff --git a/model/fib/ndn-fib-impl.h b/model/fib/ndn-fib-impl.h
index 562f06e..4c78997 100644
--- a/model/fib/ndn-fib-impl.h
+++ b/model/fib/ndn-fib-impl.h
@@ -28,18 +28,20 @@
#include "../../utils/counting-policy.h"
namespace ns3 {
+namespace ndn {
+namespace fib {
-class NdnFibEntryImpl : public NdnFibEntry
+class EntryImpl : public Entry
{
public:
typedef ndnSIM::trie_with_policy<
- NdnNameComponents,
- ndnSIM::smart_pointer_payload_traits<NdnFibEntryImpl>,
+ NameComponents,
+ ndnSIM::smart_pointer_payload_traits<EntryImpl>,
ndnSIM::counting_policy_traits
> trie;
- NdnFibEntryImpl (const Ptr<const NdnNameComponents> &prefix)
- : NdnFibEntry (prefix)
+ EntryImpl (const Ptr<const NameComponents> &prefix)
+ : Entry (prefix)
, item_ (0)
{
}
@@ -57,24 +59,19 @@
trie::iterator item_;
};
-struct NdnFibEntryContainer
-{
- typedef ndnSIM::trie_with_policy<
- NdnNameComponents,
- ndnSIM::smart_pointer_payload_traits<NdnFibEntryImpl>,
- ndnSIM::counting_policy_traits
- > type;
-};
-
/**
* \ingroup ndn
* \brief Class implementing FIB functionality
*/
-class NdnFibImpl : public NdnFib,
- private NdnFibEntryContainer::type
+class FibImpl : public Fib,
+ protected ndnSIM::trie_with_policy< NameComponents,
+ ndnSIM::smart_pointer_payload_traits< EntryImpl >,
+ ndnSIM::counting_policy_traits >
{
public:
- typedef NdnFibEntryContainer::type super;
+ typedef ndnSIM::trie_with_policy< NameComponents,
+ ndnSIM::smart_pointer_payload_traits<EntryImpl>,
+ ndnSIM::counting_policy_traits > super;
/**
* \brief Interface ID
@@ -86,25 +83,25 @@
/**
* \brief Constructor
*/
- NdnFibImpl ();
+ FibImpl ();
- virtual Ptr<NdnFibEntry>
- LongestPrefixMatch (const NdnInterestHeader &interest);
+ virtual Ptr<Entry>
+ LongestPrefixMatch (const InterestHeader &interest);
- virtual Ptr<NdnFibEntry>
- Add (const NdnNameComponents &prefix, Ptr<NdnFace> face, int32_t metric);
+ virtual Ptr<Entry>
+ Add (const NameComponents &prefix, Ptr<Face> face, int32_t metric);
- virtual Ptr<NdnFibEntry>
- Add (const Ptr<const NdnNameComponents> &prefix, Ptr<NdnFace> face, int32_t metric);
+ virtual Ptr<Entry>
+ Add (const Ptr<const NameComponents> &prefix, Ptr<Face> face, int32_t metric);
virtual void
- Remove (const Ptr<const NdnNameComponents> &prefix);
+ Remove (const Ptr<const NameComponents> &prefix);
virtual void
InvalidateAll ();
virtual void
- RemoveFromAll (Ptr<NdnFace> face);
+ RemoveFromAll (Ptr<Face> face);
virtual void
Print (std::ostream &os) const;
@@ -112,24 +109,14 @@
virtual uint32_t
GetSize () const;
- virtual Ptr<const NdnFibEntry>
+ virtual Ptr<const Entry>
Begin ();
- virtual Ptr<const NdnFibEntry>
+ virtual Ptr<const Entry>
End ();
- virtual Ptr<const NdnFibEntry>
- Next (Ptr<const NdnFibEntry> item);
-
- // /**
- // * @brief Modify element in container
- // */
- // template<typename Modifier>
- // bool
- // modify (Ptr<NdnFibEntry> item, Modifier mod)
- // {
- // return super::modify (StaticCast<NdnFibEntryImpl> (item)->to_iterator (), mod);
- // }
+ virtual Ptr<const Entry>
+ Next (Ptr<const Entry> item);
protected:
// inherited from Object class
@@ -142,12 +129,14 @@
* entry will be removed
*/
void
- RemoveFace (super::parent_trie &item, Ptr<NdnFace> face);
+ RemoveFace (super::parent_trie &item, Ptr<Face> face);
private:
Ptr<Node> m_node;
};
-
+
+} // namespace fib
+} // namespace ndn
} // namespace ns3
#endif /* _NDN_FIB_IMPL_H_ */