model: Extending FIB and PIT interface to include Find call to search for exact match of FIB and PIT entry
diff --git a/model/pit/ndn-pit-impl.cc b/model/pit/ndn-pit-impl.cc
index 3a61c09..777ab39 100644
--- a/model/pit/ndn-pit-impl.cc
+++ b/model/pit/ndn-pit-impl.cc
@@ -213,6 +213,19 @@
template<class Policy>
Ptr<Entry>
+PitImpl<Policy>::Find (const Name &prefix)
+{
+ typename super::iterator item = super::find_exact (prefix);
+
+ if (item == super::end ())
+ return 0;
+ else
+ return item->payload ();
+}
+
+
+template<class Policy>
+Ptr<Entry>
PitImpl<Policy>::Create (Ptr<const Interest> header)
{
NS_LOG_DEBUG (header->GetName ());
diff --git a/model/pit/ndn-pit-impl.h b/model/pit/ndn-pit-impl.h
index f3e49f9..66ff69b 100644
--- a/model/pit/ndn-pit-impl.h
+++ b/model/pit/ndn-pit-impl.h
@@ -81,6 +81,9 @@
Lookup (const Interest &header);
virtual Ptr<Entry>
+ Find (const Name &prefix);
+
+ virtual Ptr<Entry>
Create (Ptr<const Interest> header);
virtual void
diff --git a/model/pit/ndn-pit.h b/model/pit/ndn-pit.h
index 186f8c4..dd237c1 100644
--- a/model/pit/ndn-pit.h
+++ b/model/pit/ndn-pit.h
@@ -89,6 +89,15 @@
Lookup (const Interest &header) = 0;
/**
+ * @brief Get PIT entry for the prefix (exact match)
+ *
+ * @param prefix Name for PIT entry
+ * @returns If entry is found, a valid iterator (Ptr<pit::Entry>) will be returned. Otherwise End () (==0)
+ */
+ virtual Ptr<pit::Entry>
+ Find (const Name &prefix) = 0;
+
+ /**
* @brief Creates a PIT entry for the given interest
* @param header parsed interest header
* @returns iterator to Pit entry. If record could not be created (e.g., limit reached),