本文整理汇总了C++中ControlParameters::getName方法的典型用法代码示例。如果您正苦于以下问题:C++ ControlParameters::getName方法的具体用法?C++ ControlParameters::getName怎么用?C++ ControlParameters::getName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ControlParameters
的用法示例。
在下文中一共展示了ControlParameters::getName方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setResponse
void
StrategyChoiceManager::unsetStrategy(ControlParameters& parameters,
ControlResponse& response)
{
ndn::nfd::StrategyChoiceUnsetCommand command;
if (!validateParameters(command, parameters))
{
static const Name ROOT_PREFIX;
if (parameters.hasName() && parameters.getName() == ROOT_PREFIX)
{
NFD_LOG_DEBUG("strategy-choice result: FAIL reason: unset-root");
setResponse(response, 403, "Cannot unset root prefix strategy");
}
else
{
NFD_LOG_DEBUG("strategy-choice result: FAIL reason: malformed");
setResponse(response, 400, "Malformed command");
}
return;
}
m_strategyChoice.erase(parameters.getName());
NFD_LOG_DEBUG("strategy-choice result: SUCCESS");
setResponse(response, 200, "Success", parameters.wireEncode());
}
示例2: bind
void
RemoteRegistrator::onRegSuccess(const ControlParameters& parameters,
const CommandOptions& options)
{
NFD_LOG_INFO("success to register " << parameters.getName());
RegisteredEntryIt iRegEntry = m_regEntries.find(parameters.getName());
if (m_regEntries.end() != iRegEntry)
{
NFD_LOG_DEBUG("Existing Entry: (" << iRegEntry->first
<< ", " << iRegEntry->second
<< ")");
scheduler::cancel(iRegEntry->second);
iRegEntry->second = scheduler::schedule(
m_refreshInterval,
bind(&RemoteRegistrator::startRegistration,
this, parameters, options, m_nRetries));
}
else
{
NFD_LOG_DEBUG("New Entry");
m_regEntries.insert(RegisteredEntry(
parameters.getName(),
scheduler::schedule(
m_refreshInterval,
bind(&RemoteRegistrator::startRegistration,
this, parameters, options, m_nRetries))));
}
}
示例3: setFaceForSelfRegistration
void
FibManager::removeNextHop(const Name& topPrefix, const Interest& interest,
ControlParameters parameters,
const ndn::mgmt::CommandContinuation& done)
{
setFaceForSelfRegistration(interest, parameters);
NFD_LOG_TRACE("remove-nexthop prefix: " << parameters.getName()
<< " faceid: " << parameters.getFaceId());
auto face = m_getFace(parameters.getFaceId());
if (static_cast<bool>(face)) {
auto entry = m_fib.findExactMatch(parameters.getName());
if (static_cast<bool>(entry)) {
entry->removeNextHop(face);
NFD_LOG_DEBUG("remove-nexthop result: OK prefix: " << parameters.getName()
<< " faceid: " << parameters.getFaceId());
if (!entry->hasNextHops()) {
m_fib.erase(*entry);
}
}
else {
NFD_LOG_DEBUG("remove-nexthop result: OK");
}
}
else {
NFD_LOG_DEBUG("remove-nexthop result: OK");
}
done(ControlResponse(200, "Success").setBody(parameters.wireEncode()));
}
示例4: sendResponse
void
RibManager::unregisterEntry(const shared_ptr<const Interest>& request,
ControlParameters& params)
{
ndn::nfd::RibUnregisterCommand command;
// Passing all parameters gives error in validation,
// so passing only the required arguments.
ControlParameters parameters;
parameters.setName(params.getName());
if (params.hasFaceId()) {
parameters.setFaceId(params.getFaceId());
}
if (params.hasOrigin()) {
parameters.setOrigin(params.getOrigin());
}
if (!validateParameters(command, parameters)) {
NFD_LOG_DEBUG("unregister result: FAIL reason: malformed");
if (static_cast<bool>(request)) {
sendResponse(request->getName(), 400, "Malformed command");
}
return;
}
bool isSelfRegistration = (!parameters.hasFaceId() || parameters.getFaceId() == 0);
if (isSelfRegistration) {
shared_ptr<lp::IncomingFaceIdTag> incomingFaceIdTag = request->getTag<lp::IncomingFaceIdTag>();
if (incomingFaceIdTag == nullptr) {
sendResponse(request->getName(), 503,
"requested self-registration, but IncomingFaceId is unavailable");
return;
}
parameters.setFaceId(*incomingFaceIdTag);
}
// Respond since command is valid and authorized
sendSuccessResponse(request, parameters);
Route route;
route.faceId = parameters.getFaceId();
route.origin = parameters.getOrigin();
NFD_LOG_INFO("Removing route " << parameters.getName() << " nexthop=" << route.faceId
<< " origin=" << route.origin);
RibUpdate update;
update.setAction(RibUpdate::UNREGISTER)
.setName(parameters.getName())
.setRoute(route);
m_managedRib.beginApplyUpdate(update,
bind(&RibManager::onRibUpdateSuccess, this, update),
bind(&RibManager::onRibUpdateFailure, this, update, _1, _2));
}
示例5: done
void
FibManager::addNextHop(const Name& topPrefix, const Interest& interest,
ControlParameters parameters,
const ndn::mgmt::CommandContinuation& done)
{
setFaceForSelfRegistration(interest, parameters);
const Name& prefix = parameters.getName();
FaceId faceId = parameters.getFaceId();
uint64_t cost = parameters.getCost();
NFD_LOG_TRACE("add-nexthop prefix: " << prefix
<< " faceid: " << faceId
<< " cost: " << cost);
auto face = m_getFace(faceId);
if (static_cast<bool>(face)) {
auto entry = m_fib.insert(prefix).first;
entry->addNextHop(face, cost);
NFD_LOG_DEBUG("add-nexthop result: OK"
<< " prefix:" << prefix
<< " faceid: " << faceId
<< " cost: " << cost);
return done(ControlResponse(200, "Success").setBody(parameters.wireEncode()));
}
else {
NFD_LOG_INFO("add-nexthop result: FAIL reason: unknown-faceid: " << faceId);
return done(ControlResponse(410, "Face not found"));
}
}
示例6: redoPropagation
void
AutoPrefixPropagator::onRefreshTimer(const ControlParameters& parameters,
const CommandOptions& options)
{
auto entryIt = m_propagatedEntries.find(parameters.getName());
BOOST_ASSERT(entryIt != m_propagatedEntries.end() && entryIt->second.isPropagated());
redoPropagation(entryIt, parameters, options, m_baseRetryWait);
}
示例7:
void
AutoPrefixPropagator::afterRevokeFail(uint32_t code, const std::string& reason,
const ControlParameters& parameters,
const CommandOptions& options)
{
NFD_LOG_INFO("fail to revoke the propagation of " << parameters.getName()
<< "\n\t reason:" << reason);
}
示例8: ArgumentError
virtual void
validateRequest(const ControlParameters& parameters) const
{
this->ControlCommand::validateRequest(parameters);
if (parameters.getName().size() == 0) {
throw ArgumentError("Name must not be ndn:/");
}
}
示例9:
void
StrategyChoiceUnsetCommand::validateRequest(const ControlParameters& parameters) const
{
this->ControlCommand::validateRequest(parameters);
if (parameters.getName().size() == 0) {
BOOST_THROW_EXCEPTION(ArgumentError("Name must not be ndn:/"));
}
}
示例10: setResponse
void
FibManager::removeNextHop(ControlParameters& parameters,
ControlResponse& response)
{
ndn::nfd::FibRemoveNextHopCommand command;
if (!validateParameters(command, parameters))
{
NFD_LOG_DEBUG("remove-nexthop result: FAIL reason: malformed");
setResponse(response, 400, "Malformed command");
return;
}
NFD_LOG_TRACE("remove-nexthop prefix: " << parameters.getName()
<< " faceid: " << parameters.getFaceId());
shared_ptr<Face> faceToRemove = m_getFace(parameters.getFaceId());
if (static_cast<bool>(faceToRemove))
{
shared_ptr<fib::Entry> entry = m_managedFib.findExactMatch(parameters.getName());
if (static_cast<bool>(entry))
{
entry->removeNextHop(faceToRemove);
NFD_LOG_DEBUG("remove-nexthop result: OK prefix: " << parameters.getName()
<< " faceid: " << parameters.getFaceId());
if (!entry->hasNextHops())
{
m_managedFib.erase(*entry);
}
}
else
{
NFD_LOG_DEBUG("remove-nexthop result: OK, but entry for face id "
<< parameters.getFaceId() << " not found");
}
}
else
{
NFD_LOG_DEBUG("remove-nexthop result: OK, but face id "
<< parameters.getFaceId() << " not found");
}
setResponse(response, 200, "Success", parameters.wireEncode());
}
示例11: startRevocation
void
AutoPrefixPropagator::afterPropagateSucceed(const ControlParameters& parameters,
const CommandOptions& options,
const ndn::Scheduler::Event& refreshEvent)
{
NFD_LOG_TRACE("success to propagate " << parameters.getName());
auto entryIt = m_propagatedEntries.find(parameters.getName());
if (entryIt == m_propagatedEntries.end()) {
// propagation should be revoked if this entry has been erased (i.e., be in RELEASED state)
NFD_LOG_DEBUG("Already erased!");
ControlParameters newParameters = parameters;
return startRevocation(newParameters.unsetCost(), options, m_baseRetryWait);
}
// PROPAGATING --> PROPAGATED
BOOST_ASSERT(entryIt->second.isPropagating());
entryIt->second.succeed(scheduler::schedule(m_refreshInterval, refreshEvent));
}
示例12: startPropagation
void
AutoPrefixPropagator::afterRibInsert(const ControlParameters& parameters,
const CommandOptions& options)
{
BOOST_ASSERT(m_propagatedEntries.find(parameters.getName()) == m_propagatedEntries.end());
// keep valid entries although there is no connectivity to hub
auto& entry = m_propagatedEntries[parameters.getName()]
.setSigningIdentity(options.getSigningInfo().getSignerName());
if (!m_hasConnectedHub) {
NFD_LOG_INFO("no hub connected to propagate " << parameters.getName());
return;
}
// NEW --> PROPAGATING
entry.startPropagation();
startPropagation(parameters, options, m_baseRetryWait);
}
示例13: loadParams
void AuvController::loadParams(const std::vector<std::string> &filenames)
{
for(unsigned int i=0; i<filenames.size(); i++)
{
ControlParameters *param = new ControlParameters();
param->load(filenames[i]);
_control_parameters.push_back(param);
_control_parameters_index[param->getName()] = i;
param->write(std::cerr);
}
}
示例14: bind
void
AutoPrefixPropagator::startRevocation(const ControlParameters& parameters,
const CommandOptions& options,
time::seconds retryWaitTime)
{
NFD_LOG_INFO("start revoke propagation of " << parameters.getName());
m_nfdController.start<ndn::nfd::RibUnregisterCommand>(
parameters,
bind(&AutoPrefixPropagator::afterRevokeSucceed, this, parameters, options, retryWaitTime),
bind(&AutoPrefixPropagator::afterRevokeFail, this, _1, _2, parameters, options),
options);
}
示例15: startUnregistration
void
RemoteRegistrator::onUnregFailure(uint32_t code, const std::string& reason,
const ControlParameters& parameters,
const CommandOptions& options,
int nRetries)
{
NFD_LOG_INFO("fail to unregister " << parameters.getName()
<< "\n\t reason:" << reason
<< "\n\t remain retries:" << nRetries);
if (nRetries > 0)
{
startUnregistration(parameters, options, nRetries - 1);
}
}