本文整理汇总了C++中ControlParameters::setFacePersistency方法的典型用法代码示例。如果您正苦于以下问题:C++ ControlParameters::setFacePersistency方法的具体用法?C++ ControlParameters::setFacePersistency怎么用?C++ ControlParameters::setFacePersistency使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ControlParameters
的用法示例。
在下文中一共展示了ControlParameters::setFacePersistency方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void
FaceCreateCommand::applyDefaultsToRequest(ControlParameters& parameters) const
{
if (!parameters.hasFacePersistency()) {
parameters.setFacePersistency(FacePersistency::FACE_PERSISTENCY_PERSISTENT);
}
}
示例2: done
void
FaceManager::updateFace(const Interest& interest,
const ControlParameters& parameters,
const ndn::mgmt::CommandContinuation& done)
{
FaceId faceId = parameters.getFaceId();
if (faceId == 0) { // Self-update
auto incomingFaceIdTag = interest.getTag<lp::IncomingFaceIdTag>();
if (incomingFaceIdTag == nullptr) {
NFD_LOG_TRACE("unable to determine face for self-update");
done(ControlResponse(404, "No FaceId specified and IncomingFaceId not available"));
return;
}
faceId = *incomingFaceIdTag;
}
Face* face = m_faceTable.get(faceId);
if (face == nullptr) {
NFD_LOG_TRACE("invalid face specified");
done(ControlResponse(404, "Specified face does not exist"));
return;
}
// Verify validity of requested changes
ControlParameters response;
bool areParamsValid = true;
if (parameters.hasFlagBit(ndn::nfd::BIT_LOCAL_FIELDS_ENABLED) &&
parameters.getFlagBit(ndn::nfd::BIT_LOCAL_FIELDS_ENABLED) &&
face->getScope() != ndn::nfd::FACE_SCOPE_LOCAL) {
NFD_LOG_TRACE("received request to enable local fields on non-local face");
areParamsValid = false;
response.setFlagBit(ndn::nfd::BIT_LOCAL_FIELDS_ENABLED,
parameters.getFlagBit(ndn::nfd::BIT_LOCAL_FIELDS_ENABLED));
}
// check whether the requested FacePersistency change is valid if it's present
if (parameters.hasFacePersistency()) {
auto persistency = parameters.getFacePersistency();
if (!face->getTransport()->canChangePersistencyTo(persistency)) {
NFD_LOG_TRACE("cannot change face persistency to " << persistency);
areParamsValid = false;
response.setFacePersistency(persistency);
}
}
if (!areParamsValid) {
done(ControlResponse(409, "Invalid properties specified").setBody(response.wireEncode()));
return;
}
// All specified properties are valid, so make changes
if (parameters.hasFacePersistency()) {
face->setPersistency(parameters.getFacePersistency());
}
updateLinkServiceOptions(*face, parameters);
// Prepare and send ControlResponse
response = makeUpdateFaceResponse(*face);
done(ControlResponse(200, "OK").setBody(response.wireEncode()));
}