28 #include <ndn-cxx/encoding/block-helpers.hpp>
29 #include <ndn-cxx/encoding/tlv.hpp>
30 #include <ndn-cxx/encoding/tlv-nfd.hpp>
36 namespace autoconfig_server {
44 , m_keyChain(keyChain)
45 , m_dispatcher(face, keyChain)
54 Program::enableHubData(
const FaceUri& hubFaceUri)
56 auto data = make_shared<Data>(Name(
HUB_DATA_NAME).appendVersion());
57 data->setFreshnessPeriod(1_h);
58 data->setContent(makeStringBlock(tlv::nfd::Uri, hubFaceUri.toString()));
59 m_keyChain.sign(*data);
62 [
this, data] (
const Name&,
const Interest& interest) {
63 if (interest.matchesData(*data)) {
67 [
this] (
auto&&... args) {
68 handlePrefixRegistrationFailure(std::forward<decltype(args)>(args)...);
73 Program::enableRoutablePrefixesDataset(
const std::vector<Name>& routablePrefixes)
76 mgmt::makeAcceptAllAuthorization(),
77 [=] (
const Name&,
const Interest&, mgmt::StatusDatasetContext& context) {
78 for (
const Name& routablePrefix : routablePrefixes) {
79 context.append(routablePrefix.wireEncode());
87 [
this] (
auto&&... args) {
88 handlePrefixRegistrationFailure(std::forward<decltype(args)>(args)...);
93 Program::handlePrefixRegistrationFailure(
const Name& prefix,
const std::string& reason)
95 std::cerr <<
"ERROR: cannot register prefix " << prefix
96 <<
" (" << reason <<
")" << std::endl;
Copyright (c) 2014-2017, Regents of the University of California, Arizona Board of Regents,...