mgmt: Change InternalFace::processEvents to accept shared_ptr, instead of weak_ptr

Change-Id: I13af9a4b07a339cf66be1fa8783dc0475ded75f0
Refs: #1753
diff --git a/daemon/mgmt/internal-face.cpp b/daemon/mgmt/internal-face.cpp
index de77009..9fad328 100644
--- a/daemon/mgmt/internal-face.cpp
+++ b/daemon/mgmt/internal-face.cpp
@@ -1,11 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014  Regents of the University of California,
- *                     Arizona Board of Regents,
- *                     Colorado State University,
- *                     University Pierre & Marie Curie, Sorbonne University,
- *                     Washington University in St. Louis,
- *                     Beijing Institute of Technology
+ * Copyright (c) 2014,  Regents of the University of California,
+ *                      Arizona Board of Regents,
+ *                      Colorado State University,
+ *                      University Pierre & Marie Curie, Sorbonne University,
+ *                      Washington University in St. Louis,
+ *                      Beijing Institute of Technology,
+ *                      The University of Memphis
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,7 +21,7 @@
  *
  * You should have received a copy of the GNU General Public License along with
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
 
 #include "internal-face.hpp"
 #include "core/logger.hpp"
@@ -42,29 +43,20 @@
 
   // Invoke .processInterest a bit later,
   // to avoid potential problems in forwarding pipelines.
-  weak_ptr<const Interest> interestWeak = interest.shared_from_this();
   getGlobalIoService().post(bind(&InternalFace::processInterest,
-                                 this, interestWeak));
+                                 this, interest.shared_from_this()));
 }
 
 void
-InternalFace::processInterest(weak_ptr<const Interest> interestWeak)
+InternalFace::processInterest(const shared_ptr<const Interest>& interest)
 {
-  shared_ptr<const Interest> interestPtr = interestWeak.lock();
-  if (!static_cast<bool>(interestPtr)) {
-    // Interest is gone because it's satisfied and removed from PIT
-    NFD_LOG_DEBUG("processInterest: Interest is gone");
-    return;
-  }
-  const Interest& interest = *interestPtr;
-
   if (m_interestFilters.size() == 0)
     {
       NFD_LOG_DEBUG("no Interest filters to match against");
       return;
     }
 
-  const Name& interestName(interest.getName());
+  const Name& interestName(interest->getName());
   NFD_LOG_DEBUG("received Interest: " << interestName);
 
   std::map<Name, OnInterest>::const_iterator filter =
@@ -92,7 +84,7 @@
       if (filter->first.isPrefixOf(interestName))
         {
           NFD_LOG_DEBUG("found Interest filter for " << filter->first << " (before end match)");
-          filter->second(interestName, interest);
+          filter->second(interestName, *interest);
         }
       else
         {
@@ -102,7 +94,7 @@
   else if (filter->first == interestName)
     {
       NFD_LOG_DEBUG("found Interest filter for " << filter->first << " (exact match)");
-      filter->second(interestName, interest);
+      filter->second(interestName, *interest);
     }
   else if (filter != m_interestFilters.begin())
     {
@@ -113,7 +105,7 @@
       if (filter->first.isPrefixOf(interestName))
         {
           NFD_LOG_DEBUG("found Interest filter for " << filter->first << " (previous match)");
-          filter->second(interestName, interest);
+          filter->second(interestName, *interest);
         }
       else
         {
diff --git a/daemon/mgmt/internal-face.hpp b/daemon/mgmt/internal-face.hpp
index ff89ac8..c35676f 100644
--- a/daemon/mgmt/internal-face.hpp
+++ b/daemon/mgmt/internal-face.hpp
@@ -1,11 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014  Regents of the University of California,
- *                     Arizona Board of Regents,
- *                     Colorado State University,
- *                     University Pierre & Marie Curie, Sorbonne University,
- *                     Washington University in St. Louis,
- *                     Beijing Institute of Technology
+ * Copyright (c) 2014,  Regents of the University of California,
+ *                      Arizona Board of Regents,
+ *                      Colorado State University,
+ *                      University Pierre & Marie Curie, Sorbonne University,
+ *                      Washington University in St. Louis,
+ *                      Beijing Institute of Technology,
+ *                      The University of Memphis
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,7 +21,7 @@
  *
  * You should have received a copy of the GNU General Public License along with
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
 
 #ifndef NFD_DAEMON_MGMT_INTERNAL_FACE_HPP
 #define NFD_DAEMON_MGMT_INTERNAL_FACE_HPP
@@ -78,7 +79,7 @@
 
 private:
   void
-  processInterest(weak_ptr<const Interest> interestWeak);
+  processInterest(const shared_ptr<const Interest>& interest);
 
 private:
   std::map<Name, OnInterest> m_interestFilters;