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