本文整理汇总了C++中ptr_lib::shared_ptr::getInterestLifetimeMilliseconds方法的典型用法代码示例。如果您正苦于以下问题:C++ shared_ptr::getInterestLifetimeMilliseconds方法的具体用法?C++ shared_ptr::getInterestLifetimeMilliseconds怎么用?C++ shared_ptr::getInterestLifetimeMilliseconds使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ptr_lib::shared_ptr
的用法示例。
在下文中一共展示了shared_ptr::getInterestLifetimeMilliseconds方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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);
}
}