Squid Web Cache master
Loading...
Searching...
No Matches
RemovalPolicy.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2025 The Squid Software Foundation and contributors
3 *
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
7 */
8
9#ifndef SQUID_SRC_REMOVALPOLICY_H
10#define SQUID_SRC_REMOVALPOLICY_H
11
12#include "cbdata.h"
13
16class wordlist;
17class StoreEntry;
18
20{
21
22public:
23 RemovalPolicySettings() : type(nullptr), args(nullptr) {};
24
25 char *type;
27};
28
30{
31
32public:
33 RemovalPolicyNode() : data(nullptr) {}
34
35 void *data;
36};
37
39{
41
42public:
43 const char *_type;
44 void *_data;
45 void (*Free) (RemovalPolicy * policy);
46 void (*Add) (RemovalPolicy * policy, StoreEntry * entry, RemovalPolicyNode * node);
47 void (*Remove) (RemovalPolicy * policy, StoreEntry * entry, RemovalPolicyNode * node);
48 void (*Referenced) (RemovalPolicy * policy, const StoreEntry * entry, RemovalPolicyNode * node);
49 void (*Dereferenced) (RemovalPolicy * policy, const StoreEntry * entry, RemovalPolicyNode * node);
50 RemovalPolicyWalker *(*WalkInit) (RemovalPolicy * policy);
51 RemovalPurgeWalker *(*PurgeInit) (RemovalPolicy * policy, int max_scan);
52 void (*Stats) (RemovalPolicy * policy, StoreEntry * entry);
53};
54
65
77
79
81
82#endif /* SQUID_SRC_REMOVALPOLICY_H */
83
RemovalPolicy * REMOVALPOLICYCREATE(wordlist *args)
RemovalPolicy * createRemovalPolicy(RemovalPolicySettings *settings)
Definition store.cc:1671
#define CBDATA_CLASS(type)
Definition cbdata.h:289
void(* Done)(RemovalPolicyWalker *walker)
RemovalPolicy * _policy
const char * _type
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)
void(* Dereferenced)(RemovalPolicy *policy, const StoreEntry *entry, RemovalPolicyNode *node)
void(* Remove)(RemovalPolicy *policy, StoreEntry *entry, RemovalPolicyNode *node)
void(* Done)(RemovalPurgeWalker *walker)
RemovalPolicy * _policy
Definition parse.c:104