]> git.ipfire.org Git - thirdparty/squid.git/blob - src/comm/forward.h
Source Format Enforcement (#532)
[thirdparty/squid.git] / src / comm / forward.h
1 /*
2 * Copyright (C) 1996-2020 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_COMM_FORWARD_H
10 #define _SQUID_COMM_FORWARD_H
11
12 #include "base/RefCount.h"
13
14 #include <vector>
15
16 /// legacy CBDATA callback functions ABI definition for read or write I/O events
17 /// \deprecated use CommCalls API instead where possible
18 typedef void PF(int, void *);
19
20 /// Abstraction layer for TCP, UDP, TLS, UDS and filedescriptor sockets.
21 namespace Comm
22 {
23
24 class Connection;
25 class ConnOpener;
26
27 typedef RefCount<Comm::Connection> ConnectionPointer;
28
29 typedef std::vector<Comm::ConnectionPointer> ConnectionList;
30
31 bool IsConnOpen(const Comm::ConnectionPointer &conn);
32
33 // callback handler to process an FD which is available for writing.
34 PF HandleWrite;
35
36 /// Mark an FD to be watched for its IO status.
37 void SetSelect(int, unsigned int, PF *, void *, time_t);
38
39 }; // namespace Comm
40
41 #endif /* _SQUID_COMM_FORWARD_H */
42