DelayVector.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#ifndef SQUID_DELAYVECTOR_H
10#define SQUID_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_DELAYVECTOR_H */
64
std::vector< DelayIdComposite::Pointer >::iterator iterator
Definition: DelayVector.h:51
int bytesWanted(int min, int max) const override
Definition: DelayVector.cc:102
std::vector< DelayIdComposite::Pointer > ids
Definition: DelayVector.h:50
Id(RefCount< DelayVector >, CompositeSelectionDetails &)
Definition: DelayVector.cc:85
void bytesIn(int qty) override
Definition: DelayVector.cc:117
std::vector< DelayIdComposite::Pointer >::const_iterator const_iterator
Definition: DelayVector.h:52
RefCount< DelayVector > theVector
Definition: DelayVector.h:49
void delayRead(const AsyncCallPointer &) override
Definition: DelayVector.cc:130
~Id() override
Definition: DelayVector.cc:96
MEMPROXY_CLASS(DelayVector::Id)
~DelayVector() override
Definition: DelayVector.cc:24
std::vector< CompositePoolNode::Pointer > pools
Definition: DelayVector.h:57
void update(int incr) override
Definition: DelayVector.cc:52
MEMPROXY_CLASS(DelayVector)
std::vector< CompositePoolNode::Pointer >::iterator iterator
Definition: DelayVector.h:58
DelayIdComposite::Pointer id(CompositeSelectionDetails &) override
Definition: DelayVector.cc:74
RefCount< DelayVector > Pointer
Definition: DelayVector.h:23
void parse() override
Definition: DelayVector.cc:63
std::vector< CompositePoolNode::Pointer >::const_iterator const_iterator
Definition: DelayVector.h:59
void stats(StoreEntry *sentry) override
Definition: DelayVector.cc:30
void dump(StoreEntry *entry) const override
Definition: DelayVector.cc:41
void push_back(CompositePoolNode::Pointer)
Definition: DelayVector.cc:80
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