mgmt: InternalFace processes Interest asynchronously
This avoids forwarding's incoming Data pipeline to be called
within incoming Interest pipeline - this property holds for
other faces, and is expected by forwarding.
refs #1419
Change-Id: I3eb1ca84830d5d8aefe0ae67a562acdd835ca5ca
diff --git a/daemon/mgmt/internal-face.hpp b/daemon/mgmt/internal-face.hpp
index 3ce32e3..3f061fb 100644
--- a/daemon/mgmt/internal-face.hpp
+++ b/daemon/mgmt/internal-face.hpp
@@ -20,9 +20,14 @@
/**
* \brief InternalFace-related error
*/
- struct Error : public Face::Error
+ class Error : public Face::Error
{
- Error(const std::string& what) : Face::Error(what) {}
+ public:
+ explicit
+ Error(const std::string& what)
+ : Face::Error(what)
+ {
+ }
};
InternalFace();
@@ -54,7 +59,10 @@
put(const Data& data);
private:
+ void
+ processInterest(const Interest& interest);
+private:
std::map<Name, OnInterest> m_interestFilters;
CommandValidator m_validator;
};