Squid Web Cache master
Loading...
Searching...
No Matches
DelayTagged.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2025 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
30public:
32
33 void stats(StoreEntry *)const;
34 explicit DelayTaggedBucket(const SBuf &aTag);
35 ~DelayTaggedBucket() override;
37 const SBuf tag;
38};
39
42{
44
45public:
47
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
57private:
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
#define RefCountable
The locking interface for use on Reference-Counted classes.
Definition Lock.h:66
DelayBucket theBucket
Definition DelayTagged.h:36
void stats(StoreEntry *) const
~DelayTaggedBucket() override
MEMPROXY_CLASS(DelayTaggedBucket)
RefCount< DelayTaggedBucket > Pointer
Definition DelayTagged.h:31
MEMPROXY_CLASS(DelayTagged::Id)
DelayTaggedBucket::Pointer theBucket
Definition DelayTagged.h:73
void delayRead(const AsyncCallPointer &) override
RefCount< DelayTagged > theTagged
Definition DelayTagged.h:72
void bytesIn(int qty) override
int bytesWanted(int min, int max) const override
MEMPROXY_CLASS(DelayTagged)
~DelayTagged() override
Splay< DelayTaggedBucket::Pointer > buckets
Definition DelayTagged.h:79
RefCount< DelayTagged > Pointer
Definition DelayTagged.h:46
void stats(StoreEntry *sentry) override
DelayIdComposite::Pointer id(CompositeSelectionDetails &) override
void update(int incr) override
void dump(StoreEntry *entry) const override
void parse() override
DelaySpec spec
Definition DelayTagged.h:78
Definition SBuf.h:94
Definition splay.h:50
A const & max(A const &lhs, A const &rhs)
A const & min(A const &lhs, A const &rhs)