NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
nfd::ManagerBase Class Reference

A collection of common functions shared by all NFD managers, such as communicating with the dispatcher and command validator. More...

#include <manager-base.hpp>

Inheritance diagram for nfd::ManagerBase:
Collaboration diagram for nfd::ManagerBase:


class  Error

Public Member Functions

virtual ~ManagerBase ()
const std::string & getModule () const

Protected Types

using ControlCommandHandler = std::function< void(const ControlCommand &command, const Name &prefix, const Interest &interest, const ControlParameters &parameters, const ndn::mgmt::CommandContinuation done)>

Protected Member Functions

 ManagerBase (const std::string &module, Dispatcher &dispatcher)
 ManagerBase (const std::string &module, Dispatcher &dispatcher, CommandAuthenticator &authenticator)
template<typename Command >
void registerCommandHandler (const std::string &verb, const ControlCommandHandler &handler)
void registerStatusDatasetHandler (const std::string &verb, const ndn::mgmt::StatusDatasetHandler &handler)
ndn::mgmt::PostNotification registerNotificationStream (const std::string &verb)
void extractRequester (const Interest &interest, ndn::mgmt::AcceptContinuation accept)
 Extracts the requester from a ControlCommand request. More...

Detailed Description

A collection of common functions shared by all NFD managers, such as communicating with the dispatcher and command validator.

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

Member Typedef Documentation

◆ ControlCommandHandler

using nfd::ManagerBase::ControlCommandHandler = std::function<void(const ControlCommand& command, const Name& prefix, const Interest& interest, const ControlParameters& parameters, const ndn::mgmt::CommandContinuation done)>

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

Constructor & Destructor Documentation

◆ ~ManagerBase()

nfd::ManagerBase::~ManagerBase ( )

◆ ManagerBase() [1/2]

nfd::ManagerBase::ManagerBase ( const std::string &  module,
Dispatcher dispatcher 
if you use this constructor, you MUST override makeAuthorization()

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

◆ ManagerBase() [2/2]

nfd::ManagerBase::ManagerBase ( const std::string &  module,
Dispatcher dispatcher,
CommandAuthenticator authenticator 

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

Member Function Documentation

◆ getModule()

const std::string& nfd::ManagerBase::getModule ( ) const

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

◆ registerCommandHandler()

template<typename Command >
void nfd::ManagerBase::registerCommandHandler ( const std::string &  verb,
const ControlCommandHandler handler 

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

References ndn::mgmt::Dispatcher::addControlCommand().

◆ registerStatusDatasetHandler()

◆ registerNotificationStream()

ndn::mgmt::PostNotification nfd::ManagerBase::registerNotificationStream ( const std::string &  verb)

◆ extractRequester()

void nfd::ManagerBase::extractRequester ( const Interest interest,
ndn::mgmt::AcceptContinuation  accept 

Extracts the requester from a ControlCommand request.

This is called after the signature has been validated.

interesta request for ControlCommand
acceptcallback of successful validation, takes the requester string as a argument

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

References ndn::Name::at(), ndn::Block::blockFromValue(), ndn::SignatureInfo::getKeyLocator(), ndn::KeyLocator::getName(), ndn::Interest::getName(), ndn::KeyLocator::getType(), ndn::SignatureInfo::hasKeyLocator(), ns3::ndn::Name, ndn::signed_interest::POS_SIG_INFO, and ndn::Name::toUri().

The documentation for this class was generated from the following files: