static inline void clearStrategyInfo(const name_tree::Entry& nameTreeEntry) { NFD_LOG_TRACE("clearStrategyInfo " << nameTreeEntry.getPrefix()); std::for_each(nameTreeEntry.getPitEntries().begin(), nameTreeEntry.getPitEntries().end(), &clearStrategyInfo_pitEntry); if (static_cast<bool>(nameTreeEntry.getMeasurementsEntry())) { nameTreeEntry.getMeasurementsEntry()->clearStrategyInfo(); } }
static inline void clearStrategyInfo(const name_tree::Entry& nte) { NFD_LOG_TRACE("clearStrategyInfo " << nte.getPrefix()); for (const shared_ptr<pit::Entry>& pitEntry : nte.getPitEntries()) { pitEntry->clearStrategyInfo(); for (const pit::InRecord& inRecord : pitEntry->getInRecords()) { const_cast<pit::InRecord&>(inRecord).clearStrategyInfo(); } for (const pit::OutRecord& outRecord : pitEntry->getOutRecords()) { const_cast<pit::OutRecord&>(outRecord).clearStrategyInfo(); } } if (nte.getMeasurementsEntry() != nullptr) { nte.getMeasurementsEntry()->clearStrategyInfo(); } }
shared_ptr<Entry> Measurements::get(name_tree::Entry& nte) { shared_ptr<Entry> entry = nte.getMeasurementsEntry(); if (entry != nullptr) return entry; entry = make_shared<Entry>(nte.getPrefix()); nte.setMeasurementsEntry(entry); ++m_nItems; entry->m_expiry = time::steady_clock::now() + getInitialLifetime(); entry->m_cleanup = scheduler::schedule(getInitialLifetime(), bind(&Measurements::cleanup, this, ref(*entry))); return entry; }