DiskIOStrategy.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2017 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_DISKIOSTRATEGY_H
10 #define SQUID_DISKIOSTRATEGY_H
11 
12 #include "base/RefCount.h"
13 #include "Store.h"
14 
15 class DiskFile;
16 
17 class ConfigOption;
18 
20 {
21 
22 public:
23  virtual ~DiskIOStrategy() {}
24 
26  virtual bool shedLoad() = 0;
27 
29  virtual int load() = 0;
30 
32  virtual RefCount<DiskFile> newFile(char const *path) = 0;
33 
35  virtual void sync() {}
36 
38  virtual bool unlinkdUseful() const = 0;
39 
41  virtual void unlinkFile(char const *) = 0;
42 
44  virtual int callback() { return 0; }
45 
47  virtual void init() {}
48 
50  virtual void statfs(StoreEntry &) const {}
51 
53  virtual ConfigOption *getOptionTree() const {return NULL;}
54 };
55 
56 /* Because we need the DiskFile definition for newFile. */
57 #include "DiskFile.h"
58 
60 {
61 
62 public:
64 
65  virtual bool shedLoad() { return io->shedLoad(); }
66 
67  virtual int load() { return io->load(); }
68 
69  virtual RefCount<DiskFile> newFile (char const *path) {return io->newFile(path); }
70 
71  virtual void sync() { io->sync(); }
72 
73  virtual bool unlinkdUseful() const { return io->unlinkdUseful(); }
74 
75  virtual void unlinkFile(char const *path) { io->unlinkFile(path); }
76 
77  virtual int callback() { return io->callback(); }
78 
79  virtual void init() { io->init(); }
80 
81  virtual void statfs(StoreEntry & sentry) const { io->statfs(sentry); }
82 
83  virtual ConfigOption *getOptionTree() const { return io->getOptionTree(); }
84 
85 private:
87 };
88 
89 #endif /* SQUID_DISKIOSTRATEGY_H */
90 
virtual ConfigOption * getOptionTree() const
virtual void unlinkFile(char const *path)
virtual int callback()
virtual ConfigOption * getOptionTree() const
virtual int load()
virtual void unlinkFile(char const *)=0
virtual bool unlinkdUseful() const
virtual ~DiskIOStrategy()
virtual void sync()
virtual bool unlinkdUseful() const =0
virtual int load()=0
virtual void init()
virtual int callback()
virtual void statfs(StoreEntry &sentry) const
virtual bool shedLoad()=0
virtual RefCount< DiskFile > newFile(char const *path)=0
virtual bool shedLoad()
SingletonIOStrategy(DiskIOStrategy *anIO)
virtual void statfs(StoreEntry &) const
virtual RefCount< DiskFile > newFile(char const *path)
#define NULL
Definition: types.h:166
DiskIOStrategy * io
virtual void sync()
virtual void init()

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors