fw: refine pipelines, dispatch to strategy

refs #1345 #1255

Change-Id: If1cfc26049f87318103fc09c3b211ebf1eb3ebaa
diff --git a/daemon/table/pit-face-record.hpp b/daemon/table/pit-face-record.hpp
index 2068729..3ad0462 100644
--- a/daemon/table/pit-face-record.hpp
+++ b/daemon/table/pit-face-record.hpp
@@ -38,7 +38,7 @@
   getLastRenewed() const;
   
   /** \brief gives the time point this record expires
-   *  \return{ getLastRenewed() + InterestLifetime }
+   *  \return getLastRenewed() + InterestLifetime
    */
   time::Point
   getExpiry() const;
diff --git a/daemon/table/pit-in-record.cpp b/daemon/table/pit-in-record.cpp
index 6963da2..573ee85 100644
--- a/daemon/table/pit-in-record.cpp
+++ b/daemon/table/pit-in-record.cpp
@@ -19,6 +19,12 @@
 {
 }
 
+void
+InRecord::update(const Interest& interest)
+{
+  this->FaceRecord::update(interest);
+  m_interest = const_cast<Interest&>(interest).shared_from_this();
+}
 
 } // namespace pit
 } // namespace nfd
diff --git a/daemon/table/pit-in-record.hpp b/daemon/table/pit-in-record.hpp
index 1f4e1e1..3dd7420 100644
--- a/daemon/table/pit-in-record.hpp
+++ b/daemon/table/pit-in-record.hpp
@@ -20,10 +20,26 @@
 public:
   explicit
   InRecord(shared_ptr<Face> face);
-  
+
   InRecord(const InRecord& other);
+
+  void
+  update(const Interest& interest);
+
+  const Interest&
+  getInterest() const;
+
+private:
+  shared_ptr<Interest> m_interest;
 };
 
+inline const Interest&
+InRecord::getInterest() const
+{
+  BOOST_ASSERT(static_cast<bool>(m_interest));
+  return *m_interest;
+}
+
 } // namespace pit
 } // namespace nfd