]>
Commit | Line | Data |
---|---|---|
59b2d47f | 1 | /* |
4ac4a490 | 2 | * Copyright (C) 1996-2017 The Squid Software Foundation and contributors |
59b2d47f | 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. | |
59b2d47f | 7 | */ |
8 | ||
b9ae18aa | 9 | #ifndef SQUID_IOREQUESTOR_H |
10 | #define SQUID_IOREQUESTOR_H | |
59b2d47f | 11 | |
8bf217bd | 12 | #include "base/RefCount.h" |
59b2d47f | 13 | |
b9ae18aa | 14 | class ReadRequest; |
15 | ||
16 | class WriteRequest; | |
17 | ||
18 | class IORequestor : public RefCountable | |
59b2d47f | 19 | { |
20 | ||
21 | public: | |
b9ae18aa | 22 | typedef RefCount<IORequestor> Pointer; |
23 | virtual void ioCompletedNotification() = 0; | |
24 | virtual void closeCompleted() = 0; | |
25 | virtual void readCompleted(const char *buf, int len, int errflag, RefCount<ReadRequest>) = 0; | |
26 | virtual void writeCompleted(int errflag, size_t len, RefCount<WriteRequest>) = 0; | |
59b2d47f | 27 | }; |
28 | ||
b9ae18aa | 29 | #endif /* SQUID_IOREQUESTOR_H */ |
f53969cc | 30 |