42 LruPolicy::doAfterInsert(EntryRef i)
44 this->insertToQueue(i,
true);
49 LruPolicy::doAfterRefresh(EntryRef i)
51 this->insertToQueue(i,
false);
55 LruPolicy::doBeforeErase(EntryRef i)
57 m_queue.get<1>().erase(i);
61 LruPolicy::doBeforeUse(EntryRef i)
63 this->insertToQueue(i,
false);
67 LruPolicy::evictEntries()
69 BOOST_ASSERT(this->
getCs() !=
nullptr);
71 BOOST_ASSERT(!m_queue.empty());
79 LruPolicy::insertToQueue(EntryRef i,
bool isNewEntry)
84 std::tie(it, isNew) = m_queue.push_back(i);
86 BOOST_ASSERT(isNew == isNewEntry);
88 m_queue.relocate(m_queue.end(), it);
represents a CS replacement policy
Cs * getCs() const
gets cs
size_t getLimit() const
gets hard limit (in number of entries)
Table::const_iterator EntryRef
a reference to an CS entry
signal::Signal< Policy, EntryRef > beforeEvict
emits when an entry is being evicted
Least-Recently-Used (LRU) replacement policy.
static const std::string POLICY_NAME
#define NFD_REGISTER_CS_POLICY(P)
registers a CS policy
Copyright (c) 2014-2015, Regents of the University of California, Arizona Board of Regents,...