本文整理汇总了C++中ptr_lib::shared_ptr::wireEncode方法的典型用法代码示例。如果您正苦于以下问题:C++ shared_ptr::wireEncode方法的具体用法?C++ shared_ptr::wireEncode怎么用?C++ shared_ptr::wireEncode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ptr_lib::shared_ptr
的用法示例。
在下文中一共展示了shared_ptr::wireEncode方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pendingInterest
void
Node::expressInterestHelper
(uint64_t pendingInterestId,
const ptr_lib::shared_ptr<const Interest>& interestCopy,
const OnData& onData, const OnTimeout& onTimeout, WireFormat* wireFormat,
Face* face)
{
ptr_lib::shared_ptr<PendingInterest> pendingInterest(new PendingInterest
(pendingInterestId, interestCopy, onData, onTimeout));
pendingInterestTable_.push_back(pendingInterest);
if (interestCopy->getInterestLifetimeMilliseconds() >= 0.0)
// Set up the timeout.
face->callLater
(interestCopy->getInterestLifetimeMilliseconds(),
bind(&Node::processInterestTimeout, this, pendingInterest));
// Special case: For timeoutPrefix_ we don't actually send the interest.
if (!timeoutPrefix_.match(interestCopy->getName())) {
Blob encoding = interestCopy->wireEncode(*wireFormat);
if (encoding.size() > getMaxNdnPacketSize())
throw runtime_error
("The encoded interest size exceeds the maximum limit getMaxNdnPacketSize()");
transport_->send(*encoding);
}
}
示例2: onVerified
ptr_lib::shared_ptr<ValidationRequest>
SelfVerifyPolicyManager::checkVerificationPolicy
(const ptr_lib::shared_ptr<Data>& data, int stepCount, const OnVerified& onVerified, const OnVerifyFailed& onVerifyFailed)
{
// wireEncode returns the cached encoding if available.
if (verify(data->getSignature(), data->wireEncode()))
onVerified(data);
else
onVerifyFailed(data);
// No more steps, so return a null ValidationRequest.
return ptr_lib::shared_ptr<ValidationRequest>();
}