31 #ifndef NLSR_PUBLISHER_DATASET_INTEREST_HANDLER_HPP 32 #define NLSR_PUBLISHER_DATASET_INTEREST_HANDLER_HPP 46 #include <ndn-cxx/mgmt/dispatcher.hpp> 47 #include <ndn-cxx/face.hpp> 48 #include <boost/noncopyable.hpp> 65 class Error : std::runtime_error
70 :
std::runtime_error(what)
83 setDispatcher(ndn::mgmt::Dispatcher& dispatcher);
87 std::vector<tlv::RoutingTable>
93 publishRtStatus(
const ndn::Name& topPrefix,
const ndn::Interest& interest,
94 ndn::mgmt::StatusDatasetContext& context);
99 publishAdjStatus(
const ndn::Name& topPrefix,
const ndn::Interest& interest,
100 ndn::mgmt::StatusDatasetContext& context);
105 publishCoordinateStatus(
const ndn::Name& topPrefix,
const ndn::Interest& interest,
106 ndn::mgmt::StatusDatasetContext& context);
111 publishNameStatus(
const ndn::Name& topPrefix,
const ndn::Interest& interest,
112 ndn::mgmt::StatusDatasetContext& context);
115 ndn::mgmt::Dispatcher& m_dispatcher;
118 const std::list<RoutingTableEntry>& m_routingTableEntries;
119 const std::list<RoutingTableEntry>& m_dryRoutingTableEntries;
122 template<
typename T> std::list<T>
125 template<> std::list<tlv::AdjacencyLsa>
126 getTlvLsas<tlv::AdjacencyLsa>(
const Lsdb& lsdb);
128 template<> std::list<tlv::CoordinateLsa>
129 getTlvLsas<tlv::CoordinateLsa>(
const Lsdb& lsdb);
131 template<> std::list<tlv::NameLsa>
132 getTlvLsas<tlv::NameLsa>(
const Lsdb& lsdb);
136 #endif // NLSR_PUBLISHER_DATASET_INTEREST_HANDLER_HPP Class to publish all dataset.
std::list< T > getTlvLsas(const Lsdb &lsdb)
const ndn::Name::Component COORDINATE_COMPONENT
Error(const std::string &what)
Copyright (c) 2014-2018, The University of Memphis, Regents of the University of California.
const ndn::Name::Component NAME_COMPONENT
Copyright (c) 2014-2018, The University of Memphis, Regents of the University of California, Arizona Board of Regents.
const ndn::Name::Component ADJACENCY_COMPONENT