1 /*
2  * Copyright (C) 1996-2021 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 DELAYIDCOMPOSITE_H
12 #define DELAYIDCOMPOSITE_H
13 
14 #if USE_DELAY_POOLS
15 #include "base/RefCount.h"
16 #include "fatal.h"
17 
18 class DeferredRead;
19 
20 class DelayIdComposite : public RefCountable
21 {
22 
23 public:
24     typedef RefCount<DelayIdComposite> Pointer;
~DelayIdComposite()25     virtual inline ~DelayIdComposite() {}
26 
27     virtual int bytesWanted (int min, int max) const =0;
28     virtual void bytesIn(int qty) = 0;
29     /* only aggregate and vector need this today */
delayRead(DeferredRead const &)30     virtual void delayRead(DeferredRead const &) {fatal("Not implemented");}
31 };
32 
33 #endif /* USE_DELAY_POOLS */
34 #endif /* DELAYIDCOMPOSITE_H */
35 
36