Squid Web Cache master
Loading...
Searching...
No Matches
DelayVector.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#ifndef SQUID_SRC_DELAYVECTOR_H
10#define SQUID_SRC_DELAYVECTOR_H
11
12#if USE_DELAY_POOLS
13
14#include "base/forward.h"
15#include "CompositePoolNode.h"
16
19{
21
22public:
25 ~DelayVector() override;
26 void stats(StoreEntry * sentry) override;
27 void dump(StoreEntry *entry) const override;
28 void update(int incr) override;
29 void parse() override;
30
33
34private:
35
37 class Id:public DelayIdComposite
38 {
40
41 public:
43 ~Id() override;
44 int bytesWanted (int min, int max) const override;
45 void bytesIn(int qty) override;
46 void delayRead(const AsyncCallPointer &) override;
47
48 private:
50 std::vector<DelayIdComposite::Pointer> ids;
51 typedef std::vector<DelayIdComposite::Pointer>::iterator iterator;
52 typedef std::vector<DelayIdComposite::Pointer>::const_iterator const_iterator;
53 };
54
55 friend class Id;
56
57 std::vector<CompositePoolNode::Pointer> pools;
58 typedef std::vector<CompositePoolNode::Pointer>::iterator iterator;
59 typedef std::vector<CompositePoolNode::Pointer>::const_iterator const_iterator;
60};
61
62#endif /* USE_DELAY_POOLS */
63#endif /* SQUID_SRC_DELAYVECTOR_H */
64
std::vector< DelayIdComposite::Pointer >::iterator iterator
Definition DelayVector.h:51
int bytesWanted(int min, int max) const override
std::vector< DelayIdComposite::Pointer > ids
Definition DelayVector.h:50
void bytesIn(int qty) override
std::vector< DelayIdComposite::Pointer >::const_iterator const_iterator
Definition DelayVector.h:52
RefCount< DelayVector > theVector
Definition DelayVector.h:49
void delayRead(const AsyncCallPointer &) override
~Id() override
MEMPROXY_CLASS(DelayVector::Id)
~DelayVector() override
std::vector< CompositePoolNode::Pointer > pools
Definition DelayVector.h:57
void update(int incr) override
MEMPROXY_CLASS(DelayVector)
std::vector< CompositePoolNode::Pointer >::iterator iterator
Definition DelayVector.h:58
DelayIdComposite::Pointer id(CompositeSelectionDetails &) override
RefCount< DelayVector > Pointer
Definition DelayVector.h:23
void parse() override
std::vector< CompositePoolNode::Pointer >::const_iterator const_iterator
Definition DelayVector.h:59
void stats(StoreEntry *sentry) override
void dump(StoreEntry *entry) const override
void push_back(CompositePoolNode::Pointer)
A const & max(A const &lhs, A const &rhs)
A const & min(A const &lhs, A const &rhs)