Response.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2017 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 /* DEBUG: section 54 Interprocess Communication */
10 
11 #ifndef SQUID_IPC_RESPONSE_H
12 #define SQUID_IPC_RESPONSE_H
13 
14 #include "base/RefCount.h"
15 #include "ipc/forward.h"
16 
17 namespace Ipc
18 {
19 
21 class Response: public RefCountable
22 {
23 public:
25 
26 public:
27  explicit Response(unsigned int aRequestId):
28  requestId(aRequestId) {}
29 
30  virtual void pack(TypedMsgHdr& msg) const = 0;
31  virtual Pointer clone() const = 0;
32 
33 private:
34  Response(const Response&); // not implemented
35  Response& operator= (const Response&); // not implemented
36 
37 public:
38  unsigned int requestId;
39 };
40 
41 inline
42 std::ostream& operator << (std::ostream &os, const Response& response)
43 {
44  os << "[response.requestId %u]" << response.requestId << '}';
45  return os;
46 }
47 
48 } // namespace Ipc
49 
50 #endif /* SQUID_IPC_RESPONSE_H */
51 
Response & operator=(const Response &)
std::ostream & operator<<(std::ostream &os, const Response &response)
Definition: Response.h:42
unsigned int requestId
ID of request we are responding to.
Definition: Response.h:38
virtual Pointer clone() const =0
returns a copy of this
virtual void pack(TypedMsgHdr &msg) const =0
prepare for sendmsg()
RefCount< Response > Pointer
Definition: Response.h:24
struct msghdr with a known type, fixed-size I/O and control buffers
Definition: TypedMsgHdr.h:31
A response to Ipc::Request.
Definition: Response.h:21
Response(unsigned int aRequestId)
Definition: Response.h:27

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors