]>
Commit | Line | Data |
---|---|---|
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 | ||
17 | class ClientHttpRequest; | |
18 | class HttpReply; | |
19 | ||
20 | /// \ingroup DelayPoolsAPI | |
21 | class DelayId | |
22 | { | |
23 | ||
24 | public: | |
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 | ||
40 | private: | |
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 |