ndn-cxx: NDN C++ Library 0.9.0-33-g832ea91d
Loading...
Searching...
No Matches
ndn::nfd::ControlCommand< Derived, RequestFormatType, ResponseFormatType > Class Template Reference

Base class for all NFD control commands. More...

#include <ndn-cxx/mgmt/nfd/control-command.hpp>

+ Inheritance diagram for ndn::nfd::ControlCommand< Derived, RequestFormatType, ResponseFormatType >:
+ Collaboration diagram for ndn::nfd::ControlCommand< Derived, RequestFormatType, ResponseFormatType >:

Public Types

using RequestFormat = RequestFormatType
 
using RequestParameters = typename RequestFormat::ParametersType
 
using ResponseFormat = ResponseFormatType
 
using ResponseParameters = typename ResponseFormat::ParametersType
 

Public Member Functions

 ControlCommand ()=delete
 

Static Public Member Functions

static void applyDefaultsToRequest (RequestParameters &params)
 Apply default values to missing fields in request.
 
static void applyDefaultsToResponse (ResponseParameters &params)
 Apply default values to missing fields in response.
 
static Interest createRequest (Name commandPrefix, const RequestParameters &params)
 Construct request Interest.
 
static PartialName getName ()
 Return the command name (module + verb).
 
static shared_ptr< mgmt::ControlParametersBaseparseRequest (const Interest &interest, size_t prefixLen)
 Extract parameters from request Interest.
 
static void validateRequest (const RequestParameters &params)
 Validate request parameters.
 
static void validateResponse (const ResponseParameters &params)
 Validate response parameters.
 

Protected Types

using Base = ControlCommand< Derived, RequestFormatType, ResponseFormatType >
 

Detailed Description

template<typename Derived, typename RequestFormatType = ControlParametersCommandFormat, typename ResponseFormatType = ControlParametersCommandFormat>
class ndn::nfd::ControlCommand< Derived, RequestFormatType, ResponseFormatType >

Base class for all NFD control commands.

Template Parameters
RequestFormatTypeA class type that will handle the encoding and validation of the request parameters. The type can be ApplicationParametersCommandFormat or ControlParametersCommandFormat.
ResponseFormatTypeA class type that will handle the encoding and validation of the response parameters. Only ControlParametersCommandFormat is supported for now.
See also
https://redmine.named-data.net/projects/nfd/wiki/ControlCommand

Definition at line 160 of file control-command.hpp.

Member Typedef Documentation

◆ Base

template<typename Derived , typename RequestFormatType = ControlParametersCommandFormat, typename ResponseFormatType = ControlParametersCommandFormat>
using ndn::nfd::ControlCommand< Derived, RequestFormatType, ResponseFormatType >::Base = ControlCommand<Derived, RequestFormatType, ResponseFormatType>
protected

Definition at line 163 of file control-command.hpp.

◆ RequestFormat

template<typename Derived , typename RequestFormatType = ControlParametersCommandFormat, typename ResponseFormatType = ControlParametersCommandFormat>
using ndn::nfd::ControlCommand< Derived, RequestFormatType, ResponseFormatType >::RequestFormat = RequestFormatType

Definition at line 166 of file control-command.hpp.

◆ RequestParameters

template<typename Derived , typename RequestFormatType = ControlParametersCommandFormat, typename ResponseFormatType = ControlParametersCommandFormat>
using ndn::nfd::ControlCommand< Derived, RequestFormatType, ResponseFormatType >::RequestParameters = typename RequestFormat::ParametersType

Definition at line 168 of file control-command.hpp.

◆ ResponseFormat

template<typename Derived , typename RequestFormatType = ControlParametersCommandFormat, typename ResponseFormatType = ControlParametersCommandFormat>
using ndn::nfd::ControlCommand< Derived, RequestFormatType, ResponseFormatType >::ResponseFormat = ResponseFormatType

Definition at line 167 of file control-command.hpp.

◆ ResponseParameters

template<typename Derived , typename RequestFormatType = ControlParametersCommandFormat, typename ResponseFormatType = ControlParametersCommandFormat>
using ndn::nfd::ControlCommand< Derived, RequestFormatType, ResponseFormatType >::ResponseParameters = typename ResponseFormat::ParametersType

Definition at line 169 of file control-command.hpp.

Constructor & Destructor Documentation

◆ ControlCommand()

template<typename Derived , typename RequestFormatType = ControlParametersCommandFormat, typename ResponseFormatType = ControlParametersCommandFormat>
ndn::nfd::ControlCommand< Derived, RequestFormatType, ResponseFormatType >::ControlCommand ( )
delete

Member Function Documentation

◆ applyDefaultsToRequest()

template<typename Derived , typename RequestFormatType = ControlParametersCommandFormat, typename ResponseFormatType = ControlParametersCommandFormat>
static void ndn::nfd::ControlCommand< Derived, RequestFormatType, ResponseFormatType >::applyDefaultsToRequest ( RequestParameters params)
inlinestatic

Apply default values to missing fields in request.

Definition at line 221 of file control-command.hpp.

◆ applyDefaultsToResponse()

template<typename Derived , typename RequestFormatType = ControlParametersCommandFormat, typename ResponseFormatType = ControlParametersCommandFormat>
static void ndn::nfd::ControlCommand< Derived, RequestFormatType, ResponseFormatType >::applyDefaultsToResponse ( ResponseParameters params)
inlinestatic

Apply default values to missing fields in response.

Definition at line 241 of file control-command.hpp.

◆ createRequest()

template<typename Derived , typename RequestFormatType = ControlParametersCommandFormat, typename ResponseFormatType = ControlParametersCommandFormat>
static Interest ndn::nfd::ControlCommand< Derived, RequestFormatType, ResponseFormatType >::createRequest ( Name  commandPrefix,
const RequestParameters params 
)
inlinestatic

Construct request Interest.

Exceptions
ArgumentErrorif parameters are invalid

Definition at line 187 of file control-command.hpp.

◆ getName()

template<typename Derived , typename RequestFormatType = ControlParametersCommandFormat, typename ResponseFormatType = ControlParametersCommandFormat>
static PartialName ndn::nfd::ControlCommand< Derived, RequestFormatType, ResponseFormatType >::getName ( )
inlinestatic

Return the command name (module + verb).

Definition at line 177 of file control-command.hpp.

◆ parseRequest()

template<typename Derived , typename RequestFormatType = ControlParametersCommandFormat, typename ResponseFormatType = ControlParametersCommandFormat>
static shared_ptr< mgmt::ControlParametersBase > ndn::nfd::ControlCommand< Derived, RequestFormatType, ResponseFormatType >::parseRequest ( const Interest interest,
size_t  prefixLen 
)
inlinestatic

Extract parameters from request Interest.

Definition at line 200 of file control-command.hpp.

◆ validateRequest()

template<typename Derived , typename RequestFormatType = ControlParametersCommandFormat, typename ResponseFormatType = ControlParametersCommandFormat>
static void ndn::nfd::ControlCommand< Derived, RequestFormatType, ResponseFormatType >::validateRequest ( const RequestParameters params)
inlinestatic

Validate request parameters.

Exceptions
ArgumentErrorif parameters are invalid

Definition at line 211 of file control-command.hpp.

◆ validateResponse()

template<typename Derived , typename RequestFormatType = ControlParametersCommandFormat, typename ResponseFormatType = ControlParametersCommandFormat>
static void ndn::nfd::ControlCommand< Derived, RequestFormatType, ResponseFormatType >::validateResponse ( const ResponseParameters params)
inlinestatic

Validate response parameters.

Exceptions
ArgumentErrorif parameters are invalid

Definition at line 231 of file control-command.hpp.