]> git.ipfire.org Git - thirdparty/squid.git/blame - src/DelayId.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / DelayId.h
CommitLineData
b67e2c8c 1/*
bde978a6 2 * Copyright (C) 1996-2015 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 */
8
9#ifndef SQUID_DELAYID_H
10#define SQUID_DELAYID_H
11
9a0a18de 12#if USE_DELAY_POOLS
eb8ed10d 13
b67e2c8c 14class ClientHttpRequest;
15#include "DelayIdComposite.h"
16
63be0a78 17/// \ingroup DelayPoolsAPI
62e76326 18class DelayId
19{
20
21public:
b67e2c8c 22 static DelayId DelayClient (ClientHttpRequest *);
23 DelayId ();
24 DelayId (unsigned short);
25 ~DelayId ();
26 unsigned short pool() const;
27 DelayIdComposite::Pointer compositePosition();
28 DelayIdComposite::Pointer const compositePosition() const;
29 void compositePosition(DelayIdComposite::Pointer );
30 bool operator == (DelayId const &rhs) const;
31 operator bool() const;
32 int bytesWanted(int min, int max) const;
33 void bytesIn (int qty);
a46d2c0e 34 void setNoDelay(bool const);
35 void delayRead(DeferredRead const &);
62e76326 36
37private:
b67e2c8c 38 unsigned short pool_;
39 DelayIdComposite::Pointer compositeId;
a46d2c0e 40 bool markedAsNoDelay;
b67e2c8c 41};
62e76326 42
9a0a18de 43#endif /* USE_DELAY_POOLS */
b67e2c8c 44#endif /* SQUID_DELAYID_H */
f53969cc 45