]> git.ipfire.org Git - thirdparty/squid.git/blame - src/CommonPool.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / CommonPool.h
CommitLineData
b67e2c8c 1/*
4ac4a490 2 * Copyright (C) 1996-2017 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 COMMONPOOL_H
12#define COMMONPOOL_H
9a0a18de
AJ
13
14#if USE_DELAY_POOLS
b67e2c8c 15#include "CompositePoolNode.h"
602d9612 16#include "SquidString.h"
b67e2c8c 17
63be0a78 18/*
19 \ingroup DelayPoolsAPI
20 *
21 \todo Next steps: make this a composite, and TypeLabel a composite method.
26ac0430 22 * Then we have a legacy composite which returns class 1/2/3, and new
b67e2c8c 23 * composites which return a descriptor of some sort.
24 */
62e76326 25class CommonPool
26{
27
28public:
b67e2c8c 29 void *operator new(size_t);
30 void operator delete (void *);
b67e2c8c 31 static CommonPool *Factory (unsigned char _class, CompositePoolNode::Pointer&);
bb790702 32 char const* theClassTypeLabel() const {return typeLabel.termedBuf();}
62e76326 33
b67e2c8c 34protected:
35 CommonPool();
30abd221 36 String typeLabel;
b67e2c8c 37};
62e76326 38
9a0a18de 39#endif /* USE_DELAY_POOLS */
b67e2c8c 40#endif /* COMMONPOOL_H */
41