Controlled.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2022 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_STORE_CONTROLLED_H
10#define SQUID_STORE_CONTROLLED_H
11
12#include "store/Storage.h"
13
14namespace Store {
15
18class Controlled: public Storage
19{
20public:
25 virtual StoreEntry *get(const cache_key *) = 0;
26
28 virtual void reference(StoreEntry &e) = 0;
29
32 virtual bool dereference(StoreEntry &e) = 0;
33
35 virtual void updateHeaders(StoreEntry *) {}
36
40 virtual bool anchorToCache(StoreEntry &, bool &/*inSync*/) { return false; }
41
45 virtual bool updateAnchored(StoreEntry &) { return false; }
46};
47
48} // namespace Store
49
50#endif /* SQUID_STORE_CONTROLLED_H */
51
virtual void reference(StoreEntry &e)=0
somebody needs this entry (many cache replacement policies need to know)
virtual void updateHeaders(StoreEntry *)
make stored metadata and HTTP headers the same as in the given entry
Definition: Controlled.h:35
virtual bool updateAnchored(StoreEntry &)
Definition: Controlled.h:45
virtual bool anchorToCache(StoreEntry &, bool &)
Definition: Controlled.h:40
virtual StoreEntry * get(const cache_key *)=0
virtual bool dereference(StoreEntry &e)=0
unsigned char cache_key
Store key.
Definition: forward.h:29

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors