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> 33 #include <boost/throw_exception.hpp> 35 class InterestManager;
53 std::function<bool(const ndn::Name&, const Lsa::Type& lsaType, const uint64_t&)>;
55 class Error :
public std::runtime_error
60 :
std::runtime_error(what)
89 createSyncLogic(
const ndn::Name& syncPrefix,
90 const ndn::time::milliseconds& syncInterestLifetime =
100 processUpdate(
const ndn::Name& updateName, uint64_t highSeq);
116 processUpdateFromSync(
const ndn::Name& originRouter,
117 const ndn::Name& updateName, uint64_t seqNo);
123 ndn::Face& m_syncFace;
125 std::shared_ptr<SyncProtocolAdapter> m_syncLogic;
131 ndn::Name m_nameLsaUserPrefix;
132 ndn::Name m_adjLsaUserPrefix;
133 ndn::Name m_coorLsaUserPrefix;
142 #endif // NLSR_SYNC_LOGIC_HANDLER_HPP
const std::string NLSR_COMPONENT
A class to house all the configuration parameters for NLSR.
#define PUBLIC_WITH_TESTS_ELSE_PRIVATE
std::unique_ptr< OnNewLsa > onNewLsa
std::function< bool(const ndn::Name &, const Lsa::Type &lsaType, const uint64_t &)> IsLsaNew
NLSR-to-ChronoSync interaction point.
Error(const std::string &what)
Copyright (c) 2014-2018, The University of Memphis, Regents of the University of California, Arizona Board of Regents.
const std::string LSA_COMPONENT
SyncLogicHandler(ndn::Face &face, const IsLsaNew &isLsaNew, const ConfParameter &conf)
void publishRoutingUpdate(const Lsa::Type &type, const uint64_t &seqNo)
Instruct ChronoSync to publish an update.