]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/ipc/Request.h
2 * Copyright (C) 1996-2014 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_REQUEST_H
12 #define SQUID_IPC_REQUEST_H
14 #include "base/RefCount.h"
15 #include "ipc/forward.h"
21 class Request
: public RefCountable
24 typedef RefCount
<Request
> Pointer
;
27 Request(int aRequestorId
, unsigned int aRequestId
):
28 requestorId(aRequestorId
), 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 Request(const Request
&); // not implemented
35 Request
& operator= (const Request
&); // not implemented
38 int requestorId
; ///< kidId of the requestor; used for response destination
39 unsigned int requestId
; ///< unique for sender; matches request w/ response
44 #endif /* SQUID_IPC_REQUEST_H */