]> git.ipfire.org Git - thirdparty/squid.git/blame_incremental - src/comm/Write.h
Source Format Enforcement (#1234)
[thirdparty/squid.git] / src / comm / Write.h
... / ...
CommitLineData
1/*
2 * Copyright (C) 1996-2023 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_IOWRITE_H
10#define _SQUID_COMM_IOWRITE_H
11
12#include "base/AsyncCall.h"
13#include "comm/forward.h"
14#include "mem/forward.h"
15
16class MemBuf;
17namespace Comm
18{
19
20/**
21 * Queue a write. callback is scheduled when the write
22 * completes, on error, or on file descriptor close.
23 *
24 * free_func is used to free the passed buffer when the write has completed.
25 */
26void Write(const Comm::ConnectionPointer &conn, const char *buf, int size, AsyncCall::Pointer &callback, FREE *free_func);
27
28/**
29 * Queue a write. callback is scheduled when the write
30 * completes, on error, or on file descriptor close.
31 */
32void Write(const Comm::ConnectionPointer &conn, MemBuf *mb, AsyncCall::Pointer &callback);
33
34/// Cancel the write pending on FD. No action if none pending.
35void WriteCancel(const Comm::ConnectionPointer &conn, const char *reason);
36
37} // namespace Comm
38
39#endif /* _SQUID_COMM_IOWRITE_H */
40