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 "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 /* DELAYTAGGED_H */
84
#define RefCountable
The locking interface for use on Reference-Counted classes.
Definition: Lock.h:66
const SBuf tag
Definition: DelayTagged.h:37
DelayBucket theBucket
Definition: DelayTagged.h:36
void stats(StoreEntry *) const
Definition: DelayTagged.cc:130
~DelayTaggedBucket() override
Definition: DelayTagged.cc:124
DelayTaggedBucket(const SBuf &aTag)
Definition: DelayTagged.cc:119
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
Definition: DelayTagged.cc:168
~Id() override
Definition: DelayTagged.cc:150
Id(const RefCount< DelayTagged > &, const SBuf &)
Definition: DelayTagged.cc:136
RefCount< DelayTagged > theTagged
Definition: DelayTagged.h:72
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:79
RefCount< DelayTagged > Pointer
Definition: DelayTagged.h:46
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: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)

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors