CompositePoolNode.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 /* DEBUG: section 77 Delay Pools */
10 
11 #ifndef SQUID_SRC_COMPOSITEPOOLNODE_H
12 #define SQUID_SRC_COMPOSITEPOOLNODE_H
13 
14 #if USE_DELAY_POOLS
15 #include "auth/UserRequest.h"
16 #include "base/DelayedAsyncCalls.h"
17 #include "DelayIdComposite.h"
18 #include "DelayPools.h"
19 #include "ip/Address.h"
20 #include "sbuf/SBuf.h"
21 
22 class StoreEntry;
23 
26 {
28 
29 public:
31  ~CompositePoolNode() override {}
32 
33  virtual void stats(StoreEntry * sentry) =0;
34  virtual void dump(StoreEntry *entry) const =0;
35  void update(int incr) override =0;
36  virtual void parse() = 0;
37 
38  class CompositeSelectionDetails;
39  virtual DelayIdComposite::Pointer id(CompositeSelectionDetails &) = 0;
40  void delayRead(const AsyncCallPointer &);
41 
44  {
45 
46  public:
47  CompositeSelectionDetails(const Ip::Address& aSrcAddr, const SBuf &aTag) :
48  src_addr(aSrcAddr), tag(aTag)
49  {}
50 
52 #if USE_AUTH
54 #endif
55  const SBuf tag;
56  };
57 
58 protected:
59  void kickReads();
61 };
62 
63 #endif /* USE_DELAY_POOLS */
64 #endif /* SQUID_SRC_COMPOSITEPOOLNODE_H */
65 
MEMPROXY_CLASS(CompositePoolNode)
RefCount< CompositePoolNode > Pointer
virtual void parse()=0
Definition: SBuf.h:93
virtual void stats(StoreEntry *sentry)=0
virtual DelayIdComposite::Pointer id(CompositeSelectionDetails &)=0
CompositeSelectionDetails(const Ip::Address &aSrcAddr, const SBuf &aTag)
void update(int incr) override=0
~CompositePoolNode() override
DelayedAsyncCalls deferredReads
virtual void dump(StoreEntry *entry) const =0
void delayRead(const AsyncCallPointer &)
Definition: DelayPool.cc:80

 

Introduction

Documentation

Support

Miscellaneous