40 fatal(
"Heap Replacement: Unknown StoreEntry node type");
109 node->data =
nullptr;
177 walker->
_data = lru_walk;
203 lru_node = lru_walker->
current;
255 walker->
_data = lru_walk;
293 memset(policy, 0,
sizeof(*policy));
311 lru_data->
policy = policy;
314 policy->
_type =
"lru";
316 policy->
_data = lru_data;
RemovalPolicy * REMOVALPOLICYCREATE(wordlist *args)
const StoreEntry *(* Next)(RemovalPolicyWalker *walker)
void(* Done)(RemovalPolicyWalker *walker)
void(* Free)(RemovalPolicy *policy)
void(* Referenced)(RemovalPolicy *policy, const StoreEntry *entry, RemovalPolicyNode *node)
void(* Add)(RemovalPolicy *policy, StoreEntry *entry, RemovalPolicyNode *node)
void(* Stats)(RemovalPolicy *policy, StoreEntry *entry)
RemovalPurgeWalker *(* PurgeInit)(RemovalPolicy *policy, int max_scan)
void(* Dereferenced)(RemovalPolicy *policy, const StoreEntry *entry, RemovalPolicyNode *node)
void(* Remove)(RemovalPolicy *policy, StoreEntry *entry, RemovalPolicyNode *node)
RemovalPolicyWalker *(* WalkInit)(RemovalPolicy *policy)
void(* Done)(RemovalPurgeWalker *walker)
StoreEntry *(* Next)(RemovalPurgeWalker *walker)
void dlinkDelete(dlink_node *m, dlink_list *list)
void dlinkAddTail(void *data, dlink_node *m, dlink_list *list)
void fatal(const char *message)
void storeAppendPrintf(StoreEntry *e, const char *fmt,...)
static void lru_free(RemovalPolicy *policy)
static void lru_referenced(RemovalPolicy *policy, const StoreEntry *entry, RemovalPolicyNode *node)
static void lru_remove(RemovalPolicy *policy, StoreEntry *entry, RemovalPolicyNode *node)
static RemovalPurgeWalker * lru_purgeInit(RemovalPolicy *policy, int max_scan)
static StoreEntry * lru_purgeNext(RemovalPurgeWalker *walker)
static const StoreEntry * lru_walkNext(RemovalPolicyWalker *walker)
static void lru_walkDone(RemovalPolicyWalker *walker)
REMOVALPOLICYCREATE createRemovalPolicy_lru
static enum LruPolicyData::heap_entry_type repl_guessType(StoreEntry *entry, RemovalPolicyNode *node)
static RemovalPolicyWalker * lru_walkInit(RemovalPolicy *policy)
static void lru_purgeDone(RemovalPurgeWalker *walker)
static int nr_lru_policies
static void lru_add(RemovalPolicy *policy, StoreEntry *entry, RemovalPolicyNode *node)
static void lru_stats(RemovalPolicy *policy, StoreEntry *sentry)
void setPolicyNode(StoreEntry *, void *) const
enum LruPolicyData::heap_entry_type type
void * xcalloc(size_t n, size_t sz)