29 parameters.setName(prefixToRegister);
31 this->start<RibRegisterCommand>(parameters,
42 parameters.setName(prefixToRegister);
44 this->start<RibUnregisterCommand>(parameters,
87 Name commandInterestName(
"/localhost/nrd");
92 Interest commandInterest(commandInterestName);
96 bind(&Controller::processCommandResponse,
this, _2,
98 bind(onFail,
"Command Interest timed out"));
102 Controller::processCommandResponse(
Data& data,
103 const CommandSucceedCallback& onSuccess,
104 const FailCallback& onFail)
111 if (response.getCode() != 200)
112 return onFail(response.getText());
115 return onSuccess(options);
119 if (static_cast<bool>(onFail))
120 return onFail(e.what());
virtual void selfRegisterPrefix(const Name &prefixToRegister, const SuccessCallback &onSuccess, const FailCallback &onFail)
void generate(Interest &interest, const Name &certificateName=Name())
virtual void selfDeregisterPrefix(const Name &prefixToRegister, const SuccessCallback &onSuccess, const FailCallback &onFail)
CommandInterestGenerator m_commandInterestGenerator
void advertisePrefix(const PrefixRegOptions &options, const CommandSucceedCallback &onSuccess, const FailCallback &onFail)
void withdrawPrefix(const PrefixRegOptions &options, const CommandSucceedCallback &onSuccess, const FailCallback &onFail)
function< void()> SuccessCallback
An Interest holds a Name and other fields for an interest.
void startCommand(const std::string &command, const PrefixRegOptions &options, const CommandSucceedCallback &onSuccess, const FailCallback &onFailure)
function< void(const ControlParameters &)> CommandSucceedCallback
a callback on command success
size_t wireEncode(EncodingImpl< T > &block) const
Block blockFromValue() const
function< void(const std::string &)> FailCallback
Class defining abstraction of ControlResponse for NFD Control Protocol.
Abstraction to communicate with local or remote NDN forwarder.
A Name holds an array of Name::Component and represents an NDN name.
const PendingInterestId * expressInterest(const Interest &interest, const OnData &onData, const OnTimeout &onTimeout=OnTimeout())
Express Interest.
represents a rib/unregister command
represents a rib/register command
const Block & getContent() const
Get content Block.
Name & append(const uint8_t *value, size_t valueLength)
Append a new component, copying from value of length valueLength.
void registerPrefix(const PrefixRegOptions &options, const CommandSucceedCallback &onSuccess, const FailCallback &onFail)
Abstraction for prefix registration options for NRD Prefix registration protocol. ...
void unregisterPrefix(const PrefixRegOptions &options, const CommandSucceedCallback &onSuccess, const FailCallback &onFail)