Small update of PIT. Now pit implementation is policy-templated.
Three versions are explicitly instantiated:
- CcnxPitImpl<persistent_policy_traits> ("ns3::CcnxPit")
- CcnxPitImpl<random_policy_traits> ("ns3::CcnxPitRandom")
- CcnxPitImpl<lru_policy_traits> ("ns3::CcnxPitLru")
diff --git a/model/pit/ccnx-pit-impl.h b/model/pit/ccnx-pit-impl.h
index 2f52604..94709f3 100644
--- a/model/pit/ccnx-pit-impl.h
+++ b/model/pit/ccnx-pit-impl.h
@@ -24,8 +24,6 @@
#include "ccnx-pit.h"
#include "../../utils/trie-with-policy.h"
-#include "../../utils/empty-policy.h"
-#include "../../utils/persistent-policy.h"
#include "ccnx-pit-entry-impl.h"
@@ -37,18 +35,21 @@
* \ingroup ccnx
* \brief Class implementing Pending Interests Table
*/
+template<class Policy>
class CcnxPitImpl : public CcnxPit
, protected ndnSIM::trie_with_policy<CcnxNameComponents,
- ndnSIM::smart_pointer_payload_traits<CcnxPitEntryImpl< CcnxPitImpl > >,
- ndnSIM::persistent_policy_traits
+ ndnSIM::smart_pointer_payload_traits<CcnxPitEntryImpl< CcnxPitImpl< Policy > > >,
+ // ndnSIM::persistent_policy_traits
+ Policy
>
{
public:
typedef ndnSIM::trie_with_policy<CcnxNameComponents,
- ndnSIM::smart_pointer_payload_traits<CcnxPitEntryImpl< CcnxPitImpl > >,
- ndnSIM::persistent_policy_traits
+ ndnSIM::smart_pointer_payload_traits<CcnxPitEntryImpl< CcnxPitImpl< Policy > > >,
+ // ndnSIM::persistent_policy_traits
+ Policy
> super;
- typedef CcnxPitEntryImpl< CcnxPitImpl > entry;
+ typedef CcnxPitEntryImpl< CcnxPitImpl< Policy > > entry;
/**
* \brief Interface ID