Controlled.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2018 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 
14 namespace Store {
15 
18 class Controlled: public Storage
19 {
20 public:
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 bool anchorToCache(StoreEntry &, bool &)
Definition: Controlled.h:40
virtual bool updateAnchored(StoreEntry &)
Definition: Controlled.h:45
unsigned char cache_key
Store key.
Definition: forward.h:29
virtual void updateHeaders(StoreEntry *)
make stored metadata and HTTP headers the same as in the given entry
Definition: Controlled.h:35
virtual void reference(StoreEntry &e)=0
somebody needs this entry (many cache replacement policies need to know)
virtual bool dereference(StoreEntry &e)=0

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors