DelayTagged.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 /* DEBUG: section 77 Delay Pools */
10 
11 #ifndef SQUID_SRC_DELAYTAGGED_H
12 #define SQUID_SRC_DELAYTAGGED_H
13 
14 #if USE_DELAY_POOLS
15 
16 #include "auth/Gadgets.h"
17 #include "base/forward.h"
18 #include "CompositePoolNode.h"
19 #include "DelayBucket.h"
20 #include "DelayIdComposite.h"
21 #include "DelaySpec.h"
22 #include "sbuf/SBuf.h"
23 #include "splay.h"
24 
27 {
29 
30 public:
32 
33  void stats(StoreEntry *)const;
34  explicit DelayTaggedBucket(const SBuf &aTag);
35  ~DelayTaggedBucket() override;
37  const SBuf tag;
38 };
39 
42 {
44 
45 public:
47 
48  DelayTagged();
49  ~DelayTagged() override;
50  void stats(StoreEntry * sentry) override;
51  void dump(StoreEntry *entry) const override;
52  void update(int incr) override;
53  void parse() override;
54 
56 
57 private:
58 
60  class Id:public DelayIdComposite
61  {
63 
64  public:
65  Id(const RefCount<DelayTagged> &, const SBuf &);
66  ~Id() override;
67  int bytesWanted (int min, int max) const override;
68  void bytesIn(int qty) override;
69  void delayRead(const AsyncCallPointer &) override;
70 
71  private:
74  };
75 
76  friend class Id;
77 
80 };
81 
82 #endif /* USE_DELAY_POOLS */
83 #endif /* SQUID_SRC_DELAYTAGGED_H */
84 
void stats(StoreEntry *sentry) override
Definition: DelayTagged.cc:54
~DelayTagged() override
Definition: DelayTagged.cc:26
MEMPROXY_CLASS(DelayTaggedBucket)
int bytesWanted(int min, int max) const override
Definition: DelayTagged.cc:156
void bytesIn(int qty) override
Definition: DelayTagged.cc:162
DelayTaggedBucket::Pointer theBucket
Definition: DelayTagged.h:73
Definition: SBuf.h:93
const A & max(A const &lhs, A const &rhs)
DelayTaggedBucket(const SBuf &aTag)
Definition: DelayTagged.cc:119
DelaySpec spec
Definition: DelayTagged.h:78
RefCount< DelayTagged > Pointer
Definition: DelayTagged.h:46
RefCount< DelayTagged > theTagged
Definition: DelayTagged.h:72
Definition: splay.h:49
DelayBucket theBucket
Definition: DelayTagged.h:36
~DelayTaggedBucket() override
Definition: DelayTagged.cc:124
Splay< DelayTaggedBucket::Pointer > buckets
Definition: DelayTagged.h:79
void stats(StoreEntry *) const
Definition: DelayTagged.cc:130
~Id() override
Definition: DelayTagged.cc:150
void delayRead(const AsyncCallPointer &) override
Definition: DelayTagged.cc:168
RefCount< DelayTaggedBucket > Pointer
Definition: DelayTagged.h:31
void parse() override
Definition: DelayTagged.cc:104
const SBuf tag
Definition: DelayTagged.h:37
void update(int incr) override
Definition: DelayTagged.cc:95
DelayIdComposite::Pointer id(CompositeSelectionDetails &) override
Definition: DelayTagged.cc:111
MEMPROXY_CLASS(DelayTagged)
void dump(StoreEntry *entry) const override
Definition: DelayTagged.cc:74
const A & min(A const &lhs, A const &rhs)
Id(const RefCount< DelayTagged > &, const SBuf &)
Definition: DelayTagged.cc:136
MEMPROXY_CLASS(DelayTagged::Id)

 

Introduction

Documentation

Support

Miscellaneous