ndn::mgmt Namespace Reference

Classes

class  ControlParameters
 Base class for a struct that contains ControlCommand parameters. More...
 
class  ControlResponse
 ControlCommand response. More...
 
class  Dispatcher
 Implements a request dispatcher on server side of NFD Management protocol. More...
 
class  StatusDatasetContext
 Provides a context for generating the response to a StatusDataset request. More...
 

Typedefs

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

Enumerations

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

Functions

Authorization makeAcceptAllAuthorization ()
 Return an Authorization that accepts all Interests, with empty string as requester. More...
 

Variables

constexpr size_t MAX_PAYLOAD_LENGTH = MAX_NDN_PACKET_SIZE - 800
 

Typedef Documentation

◆ AcceptContinuation

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

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 44 of file dispatcher.hpp.

◆ Authorization

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

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 77 of file dispatcher.hpp.

◆ CommandContinuation

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

A function to be called after ControlCommandHandler completes.

Parameters
respthe response to be sent to requester

Definition at line 99 of file dispatcher.hpp.

◆ ControlCommandHandler

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

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 108 of file dispatcher.hpp.

◆ PostNotification

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

A function to post a notification.

Definition at line 129 of file dispatcher.hpp.

◆ RejectContinuation

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

A function to be called if authorization is rejected.

Definition at line 63 of file dispatcher.hpp.

◆ StatusDatasetHandler

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

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 121 of file dispatcher.hpp.

◆ ValidateParameters

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

A function to validate input ControlParameters.

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

Definition at line 94 of file dispatcher.hpp.

Enumeration Type Documentation

◆ RejectReply

Indicates 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 49 of file dispatcher.hpp.

Function Documentation

◆ makeAcceptAllAuthorization()

Authorization ndn::mgmt::makeAcceptAllAuthorization ( )

Return an Authorization that accepts all Interests, with empty string as requester.

Definition at line 33 of file dispatcher.cpp.

Variable Documentation

◆ MAX_PAYLOAD_LENGTH

constexpr size_t ndn::mgmt::MAX_PAYLOAD_LENGTH = MAX_NDN_PACKET_SIZE - 800
constexpr

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