]> git.ipfire.org Git - thirdparty/squid.git/blame - src/CompositePoolNode.h
Docs: Copyright updates for 2018 (#114)
[thirdparty/squid.git] / src / CompositePoolNode.h
CommitLineData
b67e2c8c 1/*
5b74111a 2 * Copyright (C) 1996-2018 The Squid Software Foundation and contributors
b67e2c8c 3 *
bbc27441
AJ
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.
b67e2c8c 7 */
bbc27441
AJ
8
9/* DEBUG: section 77 Delay Pools */
10
b67e2c8c 11#ifndef COMPOSITEPOOLNODE_H
12#define COMPOSITEPOOLNODE_H
13
9a0a18de 14#if USE_DELAY_POOLS
a33a428a 15#include "auth/UserRequest.h"
a46d2c0e 16#include "CommRead.h"
582c2af2
FC
17#include "DelayIdComposite.h"
18#include "DelayPools.h"
96d89ea0 19#include "ip/Address.h"
582c2af2 20#include "SquidString.h"
b67e2c8c 21
22class StoreEntry;
62e76326 23
63be0a78 24/// \ingroup DelayPoolsAPI
62e76326 25class CompositePoolNode : public RefCountable, public Updateable
26{
b58d2a22 27 MEMPROXY_CLASS(CompositePoolNode);
62e76326 28
b67e2c8c 29public:
30 typedef RefCount<CompositePoolNode> Pointer;
26ac0430 31 virtual ~CompositePoolNode() {}
62e76326 32
b67e2c8c 33 virtual void stats(StoreEntry * sentry) =0;
34 virtual void dump(StoreEntry *entry) const =0;
35 virtual void update(int incr) =0;
36 virtual void parse() = 0;
62e76326 37
1e5562e3 38 class CompositeSelectionDetails;
39 virtual DelayIdComposite::Pointer id(CompositeSelectionDetails &) = 0;
a46d2c0e 40 void delayRead(DeferredRead const &);
41
63be0a78 42 /// \ingroup DelayPoolsAPI
1e5562e3 43 class CompositeSelectionDetails
44 {
45
46 public:
47 CompositeSelectionDetails() {}
48
b7ac5457 49 Ip::Address src_addr;
79fc6915 50#if USE_AUTH
c7baff40 51 Auth::UserRequest::Pointer user;
79fc6915 52#endif
30abd221 53 String tag;
1e5562e3 54 };
55
a46d2c0e 56protected:
57 void kickReads();
58 DeferredReadManager deferredReads;
b67e2c8c 59};
62e76326 60
9a0a18de 61#endif /* USE_DELAY_POOLS */
b67e2c8c 62#endif /* COMPOSITEPOOLNODE_H */
f53969cc 63