mgmt: Controller cleans up fetchers on destruction

refs: #4775

Change-Id: I795b1ee273d0cca6df23be6c87255fc6d33b3651
diff --git a/src/mgmt/nfd/controller.hpp b/src/mgmt/nfd/controller.hpp
index 0553df1..422e7b7 100644
--- a/src/mgmt/nfd/controller.hpp
+++ b/src/mgmt/nfd/controller.hpp
@@ -30,6 +30,7 @@
 #include "../../security/validator-null.hpp"
 #include "../../security/v2/key-chain.hpp"
 #include "../../security/v2/validator.hpp"
+#include "../../util/segment-fetcher.hpp"
 
 namespace ndn {
 
@@ -68,6 +69,8 @@
   Controller(Face& face, KeyChain& keyChain,
              security::v2::Validator& validator = security::getAcceptAllValidator());
 
+  ~Controller();
+
   /** \brief start command execution
    */
   template<typename Command>
@@ -172,6 +175,9 @@
   KeyChain& m_keyChain;
   security::v2::Validator& m_validator;
   security::CommandInterestSigner m_signer;
+
+NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PROTECTED:
+  std::set<shared_ptr<util::SegmentFetcher>> m_fetchers;
 };
 
 template<typename Dataset>