DelayPools.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2023 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_DELAYPOOLS_H
10 #define SQUID_SRC_DELAYPOOLS_H
11 
12 #include <vector>
13 
14 class DelayPool;
15 class Updateable;
16 class StoreEntry;
17 
23 class Updateable
25 {
26 
27 public:
28  virtual ~Updateable() {}
29 
30  virtual void update(int) = 0;
31 };
32 
35 {
36 
37 public:
38  static void Init();
39  static void Update(void *);
40  static unsigned short pools();
41  static void pools(unsigned short pools);
42  static void FreePools();
43  static unsigned char *DelayClasses();
44  static void registerForUpdates(Updateable *);
45  static void deregisterForUpdates (Updateable *);
47 
48 private:
49  static void Stats(StoreEntry *);
50  static void InitDelayData();
51  static time_t LastUpdate;
52  static unsigned short pools_;
53  static void FreeDelayData ();
54  static std::vector<Updateable *> toUpdate;
55  static void RegisterWithCacheManager(void);
56 };
57 
58 #endif /* SQUID_SRC_DELAYPOOLS_H */
59 
static void RegisterWithCacheManager(void)
Definition: delay_pools.cc:452
static std::vector< Updateable * > toUpdate
Definition: DelayPools.h:54
static void Update(void *)
Definition: delay_pools.cc:483
static void deregisterForUpdates(Updateable *)
Definition: delay_pools.cc:515
virtual void update(int)=0
static unsigned char * DelayClasses()
static void FreePools()
Definition: delay_pools.cc:555
virtual ~Updateable()
Definition: DelayPools.h:28
static unsigned short pools_
Definition: DelayPools.h:52
static void Stats(StoreEntry *)
Definition: delay_pools.cc:541
static void Init()
Definition: delay_pools.cc:458
static void registerForUpdates(Updateable *)
Definition: delay_pools.cc:508
static unsigned short pools()
Definition: delay_pools.cc:564
static DelayPool * delay_data
Definition: DelayPools.h:46
static void InitDelayData()
Definition: delay_pools.cc:465
static time_t LastUpdate
Definition: DelayPools.h:51
static void FreeDelayData()
Definition: delay_pools.cc:476

 

Introduction

Documentation

Support

Miscellaneous