Priority Fifo cs replacement policy. More...
#include <daemon/table/cs-policy-priority-fifo.hpp>
Public Member Functions | |
PriorityFifoPolicy () | |
virtual | ~PriorityFifoPolicy () |
void | afterInsert (iterator i) |
invoked by CS after a new entry is inserted More... | |
void | afterRefresh (iterator i) |
invoked by CS after an existing entry is refreshed by same Data More... | |
void | beforeErase (iterator i) |
invoked by CS before an entry is erased due to management command More... | |
void | beforeUse (iterator i) |
invoked by CS before an entry is used to match a lookup More... | |
Cs * | getCs () const |
gets cs More... | |
size_t | getLimit () const |
gets hard limit (in number of entries) More... | |
const std::string & | getName () const |
void | setCs (Cs *cs) |
sets cs More... | |
void | setLimit (size_t nMaxEntries) |
sets hard limit (in number of entries) More... | |
Static Public Member Functions | |
static unique_ptr< Policy > | create (const std::string &policyName) |
static std::set< std::string > | getPolicyNames () |
template<typename P > | |
static void | registerPolicy (const std::string &policyName=P::POLICY_NAME) |
Public Attributes | |
signal::Signal< Policy, iterator > | beforeEvict |
emits when an entry is being evicted More... | |
Static Public Attributes | |
static const std::string | POLICY_NAME = "priority_fifo" |
Priority Fifo cs replacement policy.
The entries that get removed first are unsolicited Data packets, which are the Data packets that got cached opportunistically without preceding forwarding of the corresponding Interest packet. Next, the Data packets with expired freshness are removed. Last, the Data packets are removed from the Content Store on a pure FIFO basis.
Definition at line 72 of file cs-policy-priority-fifo.hpp.
nfd::cs::priority_fifo::PriorityFifoPolicy::PriorityFifoPolicy | ( | ) |
Definition at line 36 of file cs-policy-priority-fifo.cpp.
|
virtual |
Definition at line 41 of file cs-policy-priority-fifo.cpp.
|
inherited |
invoked by CS after a new entry is inserted
The policy may evict entries if necessary. During this process, i
might be evicted.
Definition at line 75 of file cs-policy.cpp.
|
inherited |
invoked by CS after an existing entry is refreshed by same Data
The policy may witness this refresh to make better eviction decisions in the future.
Definition at line 82 of file cs-policy.cpp.
|
inherited |
invoked by CS before an entry is erased due to management command
Definition at line 89 of file cs-policy.cpp.
|
inherited |
invoked by CS before an entry is used to match a lookup
The policy may witness this usage to make better eviction decisions in the future.
Definition at line 96 of file cs-policy.cpp.
|
staticinherited |
policyName
, or nullptr if policyName
is unknown Definition at line 45 of file cs-policy.cpp.
|
inlineinherited |
gets cs
Definition at line 199 of file cs-policy.hpp.
|
inlineinherited |
gets hard limit (in number of entries)
Definition at line 211 of file cs-policy.hpp.
|
inlineinherited |
Definition at line 193 of file cs-policy.hpp.
|
staticinherited |
Definition at line 53 of file cs-policy.cpp.
|
inlinestaticinherited |
Definition at line 44 of file cs-policy.hpp.
|
inlineinherited |
sets cs
Definition at line 205 of file cs-policy.hpp.
|
inherited |
sets hard limit (in number of entries)
The policy may evict entries if necessary.
Definition at line 67 of file cs-policy.cpp.
emits when an entry is being evicted
A policy implementation should emit this signal to cause CS to erase the entry from its index. CS should connect to this signal and erase the entry upon signal emission.
Definition at line 102 of file cs-policy.hpp.
|
static |
Definition at line 81 of file cs-policy-priority-fifo.hpp.