]> git.ipfire.org Git - thirdparty/squid.git/blame_incremental - src/DelayId.h
Simplify appending SBuf to String (#2108)
[thirdparty/squid.git] / src / DelayId.h
... / ...
CommitLineData
1/*
2 * Copyright (C) 1996-2025 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#ifndef SQUID_SRC_DELAYID_H
10#define SQUID_SRC_DELAYID_H
11
12#if USE_DELAY_POOLS
13
14#include "base/forward.h"
15#include "DelayIdComposite.h"
16
17class ClientHttpRequest;
18class HttpReply;
19
20/// \ingroup DelayPoolsAPI
21class DelayId
22{
23
24public:
25 static DelayId DelayClient(ClientHttpRequest *, HttpReply *reply = nullptr);
26 DelayId ();
27 DelayId (unsigned short);
28 ~DelayId ();
29 unsigned short pool() const;
30 DelayIdComposite::Pointer compositePosition();
31 DelayIdComposite::Pointer const compositePosition() const;
32 void compositePosition(const DelayIdComposite::Pointer &);
33 bool operator == (DelayId const &rhs) const;
34 operator bool() const;
35 int bytesWanted(int min, int max) const;
36 void bytesIn (int qty);
37 void setNoDelay(bool const);
38 void delayRead(const AsyncCallPointer &);
39
40private:
41 unsigned short pool_;
42 DelayIdComposite::Pointer compositeId;
43 bool markedAsNoDelay;
44};
45
46#endif /* USE_DELAY_POOLS */
47#endif /* SQUID_SRC_DELAYID_H */
48