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

 

Introduction

Documentation

Support

Miscellaneous