29 #include <ndn-cxx/mgmt/nfd/control-command.hpp>
30 #include <ndn-cxx/mgmt/nfd/control-response.hpp>
37 using ndn::nfd::ControlResponse;
41 const ndn::nfd::CommandOptions& options,
42 const ndn::nfd::ControlParameters& parameters)
43 : m_controller(controller)
44 , m_commandOptions(options)
45 , m_controlParameters(parameters)
48 if (name.isPrefixOf(m_commandOptions.getPrefix())) {
49 setAvailability(true);
53 m_ribEraseConn = rib.
afterEraseEntry.connect([
this] (
const Name& name) {
54 if (name.isPrefixOf(m_commandOptions.getPrefix())) {
55 setAvailability(false);
62 std::function<
void()> successCb,
63 std::function<
void(
const std::string&)> failureCb)
67 m_controller.start<ndn::nfd::RibRegisterCommand>(
69 [=] (
const ControlParameters&) { successCb(); },
70 [=] (
const ControlResponse& cr) { failureCb(cr.getText()); },
76 std::function<
void()> successCb,
77 std::function<
void(
const std::string&)> failureCb)
81 m_controller.start<ndn::nfd::RibUnregisterCommand>(
83 [=] (
const ControlParameters&) { successCb(); },
84 [=] (
const ControlResponse& cr) { failureCb(cr.getText()); },
void advertise(const ReadvertisedRoute &rr, std::function< void()> successCb, std::function< void(const std::string &)> failureCb) override
add a name prefix into NFD RIB
ndn::nfd::CommandOptions getCommandOptions() const
void withdraw(const ReadvertisedRoute &rr, std::function< void()> successCb, std::function< void(const std::string &)> failureCb) override
remove a name prefix from NFD RIB
NfdRibReadvertiseDestination(ndn::nfd::Controller &controller, Rib &rib, const ndn::nfd::CommandOptions &options=ndn::nfd::CommandOptions(), const ndn::nfd::ControlParameters ¶meters=ndn::nfd::ControlParameters().setOrigin(ndn::nfd::ROUTE_ORIGIN_CLIENT))
ndn::nfd::ControlParameters getControlParameters() const
state of a readvertised route
ndn::security::SigningInfo signer
signer for commands
Name prefix
readvertised prefix
represents the Routing Information Base
signal::Signal< Rib, Name > afterInsertEntry
signals after a RIB entry is inserted
signal::Signal< Rib, Name > afterEraseEntry
signals after a RIB entry is erased
#define NFD_LOG_INIT(name)
Copyright (c) 2014-2015, Regents of the University of California, Arizona Board of Regents,...