]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/ipc/Response.h
2 * Copyright (C) 1996-2018 The Squid Software Foundation and contributors
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.
9 /* DEBUG: section 54 Interprocess Communication */
11 #ifndef SQUID_IPC_RESPONSE_H
12 #define SQUID_IPC_RESPONSE_H
14 #include "base/RefCount.h"
15 #include "ipc/forward.h"
20 /// A response to Ipc::Request.
21 class Response
: public RefCountable
24 typedef RefCount
<Response
> Pointer
;
27 explicit Response(unsigned int aRequestId
):
28 requestId(aRequestId
) {}
30 virtual void pack(TypedMsgHdr
& msg
) const = 0; ///< prepare for sendmsg()
31 virtual Pointer
clone() const = 0; ///< returns a copy of this
34 Response(const Response
&); // not implemented
35 Response
& operator= (const Response
&); // not implemented
38 unsigned int requestId
; ///< ID of request we are responding to
42 std::ostream
& operator << (std::ostream
&os
, const Response
& response
)
44 os
<< "[response.requestId %u]" << response
.requestId
<< '}';
50 #endif /* SQUID_IPC_RESPONSE_H */