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 DELAYTAGGED_H
12#define 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 "splay.h"
23
26{
28
29public:
31
32 void stats(StoreEntry *)const;
34 ~DelayTaggedBucket() override;
37};
38
41{
43
44public:
46
48 ~DelayTagged() override;
49 void stats(StoreEntry * sentry) override;
50 void dump(StoreEntry *entry) const override;
51 void update(int incr) override;
52 void parse() override;
53
55
56private:
57
59 class Id:public DelayIdComposite
60 {
62
63 public:
65 ~Id() override;
66 int bytesWanted (int min, int max) const override;
67 void bytesIn(int qty) override;
68 void delayRead(const AsyncCallPointer &) override;
69
70 private:
73 };
74
75 friend class Id;
76
79};
80
81#endif /* USE_DELAY_POOLS */
82#endif /* DELAYTAGGED_H */
83
#define RefCountable
The locking interface for use on Reference-Counted classes.
Definition: Lock.h:66
DelayBucket theBucket
Definition: DelayTagged.h:35
void stats(StoreEntry *) const
Definition: DelayTagged.cc:130
~DelayTaggedBucket() override
Definition: DelayTagged.cc:124
MEMPROXY_CLASS(DelayTaggedBucket)
RefCount< DelayTaggedBucket > Pointer
Definition: DelayTagged.h:30
DelayTaggedBucket(String &aTag)
Definition: DelayTagged.cc:119
Id(RefCount< DelayTagged >, String &)
Definition: DelayTagged.cc:136
MEMPROXY_CLASS(DelayTagged::Id)
DelayTaggedBucket::Pointer theBucket
Definition: DelayTagged.h:72
void delayRead(const AsyncCallPointer &) override
Definition: DelayTagged.cc:168
~Id() override
Definition: DelayTagged.cc:150
RefCount< DelayTagged > theTagged
Definition: DelayTagged.h:71
void bytesIn(int qty) override
Definition: DelayTagged.cc:162
int bytesWanted(int min, int max) const override
Definition: DelayTagged.cc:156
MEMPROXY_CLASS(DelayTagged)
~DelayTagged() override
Definition: DelayTagged.cc:26
Splay< DelayTaggedBucket::Pointer > buckets
Definition: DelayTagged.h:78
RefCount< DelayTagged > Pointer
Definition: DelayTagged.h:45
void stats(StoreEntry *sentry) override
Definition: DelayTagged.cc:54
DelayIdComposite::Pointer id(CompositeSelectionDetails &) override
Definition: DelayTagged.cc:111
void update(int incr) override
Definition: DelayTagged.cc:95
void dump(StoreEntry *entry) const override
Definition: DelayTagged.cc:74
void parse() override
Definition: DelayTagged.cc:104
DelaySpec spec
Definition: DelayTagged.h:77
Definition: splay.h:57
A const & max(A const &lhs, A const &rhs)
A const & min(A const &lhs, A const &rhs)

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors