nlsr::SyncLogicHandler Class Reference

NLSR-to-sync interaction point. More...

#include <sync-logic-handler.hpp>

+ Collaboration diagram for nlsr::SyncLogicHandler:

Classes

class  Error
 

Public Types

using IsLsaNew = std::function< bool(const ndn::Name &routerName, Lsa::Type lsaType, uint64_t seqNo, uint64_t inFace) >
 

Public Member Functions

 SyncLogicHandler (ndn::Face &face, ndn::KeyChain &keyChain, IsLsaNew isLsaNew, const SyncLogicOptions &opts)
 
void publishRoutingUpdate (Lsa::Type type, uint64_t seqNo)
 Instruct ChronoSync to publish an update. More...
 

Public Attributes

OnNewLsa onNewLsa
 

Detailed Description

NLSR-to-sync interaction point.

This class serves as the abstraction for the syncing portion of NLSR and its components.

Definition at line 56 of file sync-logic-handler.hpp.

Member Typedef Documentation

◆ IsLsaNew

using nlsr::SyncLogicHandler::IsLsaNew = std::function< bool (const ndn::Name& routerName, Lsa::Type lsaType, uint64_t seqNo, uint64_t inFace) >

Definition at line 65 of file sync-logic-handler.hpp.

Constructor & Destructor Documentation

◆ SyncLogicHandler()

nlsr::SyncLogicHandler::SyncLogicHandler ( ndn::Face &  face,
ndn::KeyChain &  keyChain,
IsLsaNew  isLsaNew,
const SyncLogicOptions opts 
)

Definition at line 33 of file sync-logic-handler.cpp.

Member Function Documentation

◆ publishRoutingUpdate()

void nlsr::SyncLogicHandler::publishRoutingUpdate ( Lsa::Type  type,
uint64_t  seqNo 
)

Instruct ChronoSync to publish an update.

This function instructs sync to push an update into the network, based on whatever the state of the sequencing manager is when this is called. Since each ChronoSync instance maintains its own PIT, doing this satisfies those interests so that other routers know a sync update is available.

See also
publishSyncUpdate

Definition at line 111 of file sync-logic-handler.cpp.

Member Data Documentation

◆ onNewLsa

OnNewLsa nlsr::SyncLogicHandler::onNewLsa

Definition at line 107 of file sync-logic-handler.hpp.