]> git.ipfire.org Git - thirdparty/squid.git/blob - src/DiskIO/IORequestor.h
b936794187cba1f8ac91c4023a2d20db50e6f8c6
[thirdparty/squid.git] / src / DiskIO / IORequestor.h
1 /*
2 * Copyright (C) 1996-2022 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_IOREQUESTOR_H
10 #define SQUID_IOREQUESTOR_H
11
12 #include "base/RefCount.h"
13
14 class ReadRequest;
15
16 class WriteRequest;
17
18 class IORequestor : public RefCountable
19 {
20
21 public:
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;
27 };
28
29 #endif /* SQUID_IOREQUESTOR_H */
30