nlsr::update::PrefixUpdateProcessor Class Reference

#include <prefix-update-processor.hpp>

+ Inheritance diagram for nlsr::update::PrefixUpdateProcessor:
+ Collaboration diagram for nlsr::update::PrefixUpdateProcessor:

Public Member Functions

 PrefixUpdateProcessor (ndn::mgmt::Dispatcher &dispatcher, ndn::security::ValidatorConfig &validator, NamePrefixList &namePrefixList, Lsdb &lsdb, const std::string &configFileName)
 
bool addOrDeletePrefix (const ndn::Name &prefix, bool addPrefix)
 Add or delete an advertise or withdrawn prefix to the nlsr configuration file. More...
 
void advertiseAndInsertPrefix (const ndn::Name &prefix, const ndn::Interest &interest, const ndn::mgmt::ControlParameters &parameters, const ndn::mgmt::CommandContinuation &done)
 add desired name prefix to the advertised name prefix list or insert a prefix into the FIB if parameters is valid. More...
 
std::optional< bool > afterAdvertise (const ndn::Name &prefix) override
 save an advertised prefix to the nlsr configuration file returns bool from the overridden function while nullopt here More...
 
std::optional< bool > afterWithdraw (const ndn::Name &prefix) override
 save an advertised prefix to the nlsr configuration file returns bool from the overridden function while nullopt here More...
 
bool checkForPrefixInFile (const std::string prefix)
 Check if a prefix exists in the nlsr configuration file. More...
 
ndn::security::ValidatorConfig & getValidator ()
 
void loadValidator (ConfigSection section, const std::string &filename)
 Load the validator's configuration from a section of a configuration file. More...
 
void withdrawAndRemovePrefix (const ndn::Name &prefix, const ndn::Interest &interest, const ndn::mgmt::ControlParameters &parameters, const ndn::mgmt::CommandContinuation &done)
 remove desired name prefix from the advertised name prefix list or remove a prefix from the FIB if parameters is valid. More...
 

Protected Member Functions

ndn::PartialName makeRelPrefix (const std::string &verb) const
 generate the relative prefix for a handler by appending the verb name to the module name More...
 
template<typename T >
bool validateParameters (const ndn::mgmt::ControlParameters &parameters)
 validate the parameters for a given command More...
 

Protected Attributes

ndn::mgmt::Dispatcher & m_dispatcher
 
Lsdbm_lsdb
 
NamePrefixListm_namePrefixList
 

Detailed Description

Definition at line 37 of file prefix-update-processor.hpp.

Constructor & Destructor Documentation

◆ PrefixUpdateProcessor()

nlsr::update::PrefixUpdateProcessor::PrefixUpdateProcessor ( ndn::mgmt::Dispatcher &  dispatcher,
ndn::security::ValidatorConfig &  validator,
NamePrefixList namePrefixList,
Lsdb lsdb,
const std::string &  configFileName 
)

Definition at line 57 of file prefix-update-processor.cpp.

Member Function Documentation

◆ addOrDeletePrefix()

bool nlsr::update::PrefixUpdateProcessor::addOrDeletePrefix ( const ndn::Name &  prefix,
bool  addPrefix 
)

Add or delete an advertise or withdrawn prefix to the nlsr configuration file.

Definition at line 131 of file prefix-update-processor.cpp.

◆ advertiseAndInsertPrefix()

void nlsr::update::CommandManagerBase::advertiseAndInsertPrefix ( const ndn::Name &  prefix,
const ndn::Interest &  interest,
const ndn::mgmt::ControlParameters &  parameters,
const ndn::mgmt::CommandContinuation &  done 
)
inherited

add desired name prefix to the advertised name prefix list or insert a prefix into the FIB if parameters is valid.

Definition at line 54 of file manager-base.cpp.

◆ afterAdvertise()

std::optional< bool > nlsr::update::PrefixUpdateProcessor::afterAdvertise ( const ndn::Name &  prefix)
overridevirtual

save an advertised prefix to the nlsr configuration file returns bool from the overridden function while nullopt here

Reimplemented from nlsr::update::CommandManagerBase.

Definition at line 185 of file prefix-update-processor.cpp.

◆ afterWithdraw()

std::optional< bool > nlsr::update::PrefixUpdateProcessor::afterWithdraw ( const ndn::Name &  prefix)
overridevirtual

save an advertised prefix to the nlsr configuration file returns bool from the overridden function while nullopt here

Reimplemented from nlsr::update::CommandManagerBase.

Definition at line 191 of file prefix-update-processor.cpp.

◆ checkForPrefixInFile()

bool nlsr::update::PrefixUpdateProcessor::checkForPrefixInFile ( const std::string  prefix)

Check if a prefix exists in the nlsr configuration file.

Definition at line 112 of file prefix-update-processor.cpp.

◆ getValidator()

ndn::security::ValidatorConfig& nlsr::update::PrefixUpdateProcessor::getValidator ( )
inline

Definition at line 76 of file prefix-update-processor.hpp.

◆ loadValidator()

void nlsr::update::PrefixUpdateProcessor::loadValidator ( ConfigSection  section,
const std::string &  filename 
)

Load the validator's configuration from a section of a configuration file.

See also
ConfFileProcessor::processConfFile
ConfFileProcessor::processConfSectionSecurity

Loads the state of the validator for prefix update commands by reading a section from a configuration file. This function is expecting the section to be from a Boost property tree object.

Exceptions
PrefixUpdateProcessor::ErrorIf configuration fails to load successfully

Definition at line 105 of file prefix-update-processor.cpp.

◆ makeRelPrefix()

ndn::PartialName nlsr::update::ManagerBase::makeRelPrefix ( const std::string &  verb) const
protectedinherited

generate the relative prefix for a handler by appending the verb name to the module name

Definition at line 38 of file manager-base.cpp.

◆ validateParameters()

template<typename T >
bool nlsr::update::ManagerBase::validateParameters ( const ndn::mgmt::ControlParameters &  parameters)
inlineprotectedinherited

validate the parameters for a given command

Definition at line 72 of file manager-base.hpp.

◆ withdrawAndRemovePrefix()

void nlsr::update::CommandManagerBase::withdrawAndRemovePrefix ( const ndn::Name &  prefix,
const ndn::Interest &  interest,
const ndn::mgmt::ControlParameters &  parameters,
const ndn::mgmt::CommandContinuation &  done 
)
inherited

remove desired name prefix from the advertised name prefix list or remove a prefix from the FIB if parameters is valid.

Definition at line 96 of file manager-base.cpp.

Member Data Documentation

◆ m_dispatcher

ndn::mgmt::Dispatcher& nlsr::update::ManagerBase::m_dispatcher
protectedinherited

Definition at line 92 of file manager-base.hpp.

◆ m_lsdb

Lsdb& nlsr::update::CommandManagerBase::m_lsdb
protectedinherited

Definition at line 147 of file manager-base.hpp.

◆ m_namePrefixList

NamePrefixList& nlsr::update::CommandManagerBase::m_namePrefixList
protectedinherited

Definition at line 146 of file manager-base.hpp.