Priority Fifo cs replacement policy. More...
#include <cs-policy-priority-fifo.hpp>
Public Member Functions | |
PriorityFifoPolicy () | |
virtual | ~PriorityFifoPolicy () |
Public Member Functions inherited from nfd::cs::Policy | |
Policy (const std::string &policyName) | |
virtual | ~Policy ()=default |
const std::string & | getName () const |
Cs * | getCs () const |
gets cs More... | |
void | setCs (Cs *cs) |
sets cs More... | |
size_t | getLimit () const |
gets hard limit (in number of entries) More... | |
void | setLimit (size_t nMaxEntries) |
sets hard limit (in number of entries) More... | |
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... | |
Static Public Attributes | |
static const std::string | POLICY_NAME = "priority_fifo" |
Additional Inherited Members | |
Static Public Member Functions inherited from nfd::cs::Policy | |
template<typename P > | |
static void | registerPolicy (const std::string &policyName=P::POLICY_NAME) |
static unique_ptr< Policy > | create (const std::string &policyName) |
static std::set< std::string > | getPolicyNames () |
Public Attributes inherited from nfd::cs::Policy | |
signal::Signal< Policy, iterator > | beforeEvict |
emits when an entry is being evicted More... | |
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.
References nfd::cs::Policy::beforeEvict, nfd::scheduler::cancel(), emitSignal, nfd::cs::Policy::getCs(), nfd::cs::Policy::getLimit(), nfd::cs::priority_fifo::QUEUE_FIFO, nfd::cs::priority_fifo::QUEUE_STALE, nfd::cs::priority_fifo::QUEUE_UNSOLICITED, and nfd::scheduler::schedule().
|
static |
Definition at line 81 of file cs-policy-priority-fifo.hpp.