NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.0: NDN, CCN, CCNx, content centric networks
API Documentation
ndn::mgmt Namespace Reference

Classes

class  ControlParameters
 base class for a struct that contains ControlCommand parameters More...
 
class  ControlResponse
 ControlCommand response. More...
 
class  Dispatcher
 represents a dispatcher on server side of NFD Management protocol More...
 
class  StatusDatasetContext
 

Typedefs

typedef std::function< void(const std::string &requester)> AcceptContinuation
 a function to be called if authorization is successful More...
 
typedef std::function< void(RejectReply act)> RejectContinuation
 a function to be called if authorization is rejected More...
 
typedef std::function< void(const Name &prefix, const Interest &interest, const ControlParameters *params, AcceptContinuation accept, RejectContinuation reject)> Authorization
 a function that performs authorization More...
 
typedef std::function< bool(const ControlParameters &params)> ValidateParameters
 a function to validate input ControlParameters More...
 
typedef std::function< void(const ControlResponse &resp)> CommandContinuation
 a function to be called after ControlCommandHandler completes More...
 
typedef std::function< void(const Name &prefix, const Interest &interest, const ControlParameters &params, CommandContinuation done)> ControlCommandHandler
 a function to handle an authorized ControlCommand More...
 
typedef std::function< void(const Name &prefix, const Interest &interest, StatusDatasetContext &context)> StatusDatasetHandler
 a function to handle a StatusDataset request More...
 
typedef std::function< void(const Block &notification)> PostNotification
 a function to post a notification More...
 

Enumerations

enum  RejectReply { RejectReply::SILENT, RejectReply::STATUS403 }
 indicate how to reply in case authorization is rejected More...
 

Functions

std::ostream & operator<< (std::ostream &os, const ControlResponse &response)
 
Authorization makeAcceptAllAuthorization ()
 

Variables

 WireEncodable< ControlResponse >
 
 WireDecodable< ControlResponse >
 
const time::milliseconds DEFAULT_STATUS_DATASET_FRESHNESS_PERIOD = time::milliseconds(1000)
 

Typedef Documentation

typedef std::function<void(const std::string& requester)> ndn::mgmt::AcceptContinuation

a function to be called if authorization is successful

Parameters
requestera string that indicates the requester, whose semantics is determined by the Authorization function; this value is intended for logging only, and should not affect how the request is processed

Definition at line 48 of file dispatcher.hpp.

typedef std::function<void(RejectReply act)> ndn::mgmt::RejectContinuation

a function to be called if authorization is rejected

Definition at line 63 of file dispatcher.hpp.

typedef std::function<void(const Name& prefix, const Interest& interest, const ControlParameters* params, AcceptContinuation accept, RejectContinuation reject)> ndn::mgmt::Authorization

a function that performs authorization

Parameters
prefixtop-level prefix, e.g., "/localhost/nfd"; This argument can be inspected to allow Interests only under a subset of top-level prefixes (e.g., allow "/localhost/nfd" only), or to use different trust model regarding to the prefix.
interestincoming Interest
paramsparsed ControlParameters for ControlCommand, otherwise nullptr; This is guaranteed to be not-null and have correct type for the command, but may not be valid (e.g., can have missing fields).

Either accept or reject must be called after authorization completes.

Definition at line 80 of file dispatcher.hpp.

typedef std::function<bool(const ControlParameters& params)> ndn::mgmt::ValidateParameters

a function to validate input ControlParameters

Parameters
paramsparsed ControlParameters; This is guaranteed to have correct type for the command.

Definition at line 93 of file dispatcher.hpp.

typedef std::function<void(const ControlResponse& resp)> ndn::mgmt::CommandContinuation

a function to be called after ControlCommandHandler completes

Parameters
respthe response to be sent to requester

Definition at line 98 of file dispatcher.hpp.

typedef std::function<void(const Name& prefix, const Interest& interest, const ControlParameters& params, CommandContinuation done)> ndn::mgmt::ControlCommandHandler

a function to handle an authorized ControlCommand

Parameters
prefixtop-level prefix, e.g., "/localhost/nfd";
interestincoming Interest
paramsparsed ControlParameters; This is guaranteed to have correct type for the command, and is valid (e.g., has all required fields).

Definition at line 109 of file dispatcher.hpp.

typedef std::function<void(const Name& prefix, const Interest& interest, StatusDatasetContext& context)> ndn::mgmt::StatusDatasetHandler

a function to handle a StatusDataset request

Parameters
prefixtop-level prefix, e.g., "/localhost/nfd";
interestincoming Interest; its Name doesn't contain version and segment components

This function can generate zero or more blocks and pass them to append, and must call end upon completion.

Definition at line 120 of file dispatcher.hpp.

typedef std::function<void(const Block& notification)> ndn::mgmt::PostNotification

a function to post a notification

Definition at line 126 of file dispatcher.hpp.

Enumeration Type Documentation

indicate how to reply in case authorization is rejected

Enumerator
SILENT 

do not reply

STATUS403 

reply with a ControlResponse where StatusCode is 403

Definition at line 52 of file dispatcher.hpp.

Function Documentation

std::ostream & ndn::mgmt::operator<< ( std::ostream &  os,
const ControlResponse response 
)
Authorization ndn::mgmt::makeAcceptAllAuthorization ( )
Returns
an Authorization that accepts all Interests, with empty string as requester

Definition at line 36 of file dispatcher.cpp.

Variable Documentation

ndn::mgmt::WireEncodable< ControlResponse >

Definition at line 34 of file control-response.cpp.

ndn::mgmt::WireDecodable< ControlResponse >

Definition at line 35 of file control-response.cpp.

const time::milliseconds ndn::mgmt::DEFAULT_STATUS_DATASET_FRESHNESS_PERIOD = time::milliseconds(1000)

Definition at line 31 of file status-dataset-context.cpp.