DelayVector.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2022 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 
22 public:
24  DelayVector();
25  virtual ~DelayVector();
26  virtual void stats(StoreEntry * sentry);
27  virtual void dump(StoreEntry *entry) const;
28  virtual void update(int incr);
29  virtual void parse();
30 
33 
34 private:
35 
37  class Id:public DelayIdComposite
38  {
40 
41  public:
43  ~Id();
44  virtual int bytesWanted (int min, int max) const;
45  virtual void bytesIn(int qty);
46  virtual void delayRead(const AsyncCallPointer &);
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< CompositePoolNode::Pointer >::iterator iterator
Definition: DelayVector.h:58
virtual void update(int incr)
Definition: DelayVector.cc:52
Id(RefCount< DelayVector >, CompositeSelectionDetails &)
Definition: DelayVector.cc:85
RefCount< DelayVector > Pointer
Definition: DelayVector.h:23
A const & max(A const &lhs, A const &rhs)
std::vector< CompositePoolNode::Pointer > pools
Definition: DelayVector.h:57
std::vector< DelayIdComposite::Pointer >::const_iterator const_iterator
Definition: DelayVector.h:52
std::vector< CompositePoolNode::Pointer >::const_iterator const_iterator
Definition: DelayVector.h:59
virtual void stats(StoreEntry *sentry)
Definition: DelayVector.cc:30
virtual void parse()
Definition: DelayVector.cc:63
virtual void bytesIn(int qty)
Definition: DelayVector.cc:117
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
virtual DelayIdComposite::Pointer id(CompositeSelectionDetails &)
Definition: DelayVector.cc:74
virtual void dump(StoreEntry *entry) const
Definition: DelayVector.cc:41
A const & min(A const &lhs, A const &rhs)
virtual int bytesWanted(int min, int max) const
Definition: DelayVector.cc:102
virtual void delayRead(const AsyncCallPointer &)
Definition: DelayVector.cc:130
virtual ~DelayVector()
Definition: DelayVector.cc:24
MEMPROXY_CLASS(DelayVector)
std::vector< DelayIdComposite::Pointer > ids
Definition: DelayVector.h:50

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors