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)
77 ndn::mgmt::Dispatcher& dispatcher,
78 const ndn::Face& face,
79 const ndn::KeyChain& keyChain);
84 return m_routerNamePrefix;
89 m_routerNamePrefix = routerName;
97 setDispatcher(ndn::mgmt::Dispatcher& dispatcher);
101 std::vector<tlv::RoutingTable>
107 publishRtStatus(
const ndn::Name& topPrefix,
const ndn::Interest& interest,
108 ndn::mgmt::StatusDatasetContext& context);
113 publishAdjStatus(
const ndn::Name& topPrefix,
const ndn::Interest& interest,
114 ndn::mgmt::StatusDatasetContext& context);
119 publishCoordinateStatus(
const ndn::Name& topPrefix,
const ndn::Interest& interest,
120 ndn::mgmt::StatusDatasetContext& context);
125 publishNameStatus(
const ndn::Name& topPrefix,
const ndn::Interest& interest,
126 ndn::mgmt::StatusDatasetContext& context);
130 ndn::Name m_routerNamePrefix;
132 ndn::mgmt::Dispatcher& m_dispatcher;
134 const std::list<RoutingTableEntry>& m_routingTableEntries;
135 const std::list<RoutingTableEntry>& m_dryRoutingTableEntries;
138 template<
typename T> std::list<T>
141 template<> std::list<tlv::AdjacencyLsa>
142 getTlvLsas<tlv::AdjacencyLsa>(
const Lsdb& lsdb);
144 template<> std::list<tlv::CoordinateLsa>
145 getTlvLsas<tlv::CoordinateLsa>(
const Lsdb& lsdb);
147 template<> std::list<tlv::NameLsa>
148 getTlvLsas<tlv::NameLsa>(
const Lsdb& lsdb);
152 #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
ndn::Name & getRouterNameCommandPrefix()
static const ndn::Name::Component NAME_COMPONENT
Copyright (c) 2014-2018, The University of Memphis, Regents of the University of California, Arizona Board of Regents.
void setRouterNameCommandPrefix(const ndn::Name &routerName)
const ndn::Name::Component ADJACENCY_COMPONENT