22 #ifndef NLSR_SYNC_LOGIC_HANDLER_HPP
23 #define NLSR_SYNC_LOGIC_HANDLER_HPP
31 #include <ndn-cxx/face.hpp>
32 #include <ndn-cxx/util/signal.hpp>
49 class Error :
public std::runtime_error
52 using std::runtime_error::runtime_error;
56 std::function<bool(
const ndn::Name&,
const Lsa::Type& lsaType,
const uint64_t&)>;
80 processUpdate(
const ndn::Name& updateName, uint64_t highSeq);
91 processUpdateFromSync(
const ndn::Name& originRouter,
92 const ndn::Name& updateName, uint64_t seqNo);
98 ndn::Face& m_syncFace;
103 ndn::Name m_nameLsaUserPrefix;
104 ndn::Name m_adjLsaUserPrefix;
105 ndn::Name m_coorLsaUserPrefix;
110 const std::string NLSR_COMPONENT =
"nlsr";
111 const std::string LSA_COMPONENT =
"LSA";
A class to house all the configuration parameters for NLSR.
NLSR-to-ChronoSync interaction point.
void publishRoutingUpdate(const Lsa::Type &type, const uint64_t &seqNo)
Instruct ChronoSync to publish an update.
std::unique_ptr< OnNewLsa > onNewLsa
SyncLogicHandler(ndn::Face &face, const IsLsaNew &isLsaNew, const ConfParameter &conf)
std::function< bool(const ndn::Name &, const Lsa::Type &lsaType, const uint64_t &)> IsLsaNew
Copyright (c) 2014-2020, The University of Memphis, Regents of the University of California,...
#define PUBLIC_WITH_TESTS_ELSE_PRIVATE