]> git.ipfire.org Git - thirdparty/squid.git/blobdiff - src/mgr/Request.cc
Source Format Enforcement (#763)
[thirdparty/squid.git] / src / mgr / Request.cc
index 045ea9b45a41b90572aeb61c7858593fa99c94fa..3daf426a3c7493f19c5943aa3d9a709e571292a6 100644 (file)
@@ -1,36 +1,43 @@
 /*
- * $Id$
- *
- * DEBUG: section 16    Cache Manager API
+ * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
  *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
  */
 
-#include "config.h"
+/* DEBUG: section 16    Cache Manager API */
+
+#include "squid.h"
 #include "base/TextException.h"
 #include "comm/Connection.h"
 #include "ipc/Messages.h"
+#include "ipc/TypedMsgHdr.h"
 #include "mgr/ActionParams.h"
 #include "mgr/Request.h"
 
-
-Mgr::Request::Request(int aRequestorId, unsigned int aRequestId, const Comm::ConnectionPointer &conn,
+Mgr::Request::Request(const int aRequestorId,
+                      const Ipc::RequestId aRequestId,
+                      const Comm::ConnectionPointer &aConn,
                       const ActionParams &aParams):
-        requestorId(aRequestorId), requestId(aRequestId),
-        fd(conn->fd),
-        params(aParams)
+    Ipc::Request(aRequestorId, aRequestId),
+    conn(aConn),
+    params(aParams)
 {
     Must(requestorId > 0);
-    Must(requestId != 0);
 }
 
-Mgr::Request::Request(const Ipc::TypedMsgHdrmsg)
+Mgr::Request::Request(const Ipc::TypedMsgHdr &msg)
 {
     msg.checkType(Ipc::mtCacheMgrRequest);
     msg.getPod(requestorId);
     msg.getPod(requestId);
     params = ActionParams(msg);
 
-    fd = msg.getFd();
+    conn = new Comm::Connection;
+    conn->fd = msg.getFd();
+    // For now we just have the FD.
+    // Address and connectio details wil be pulled/imported by the component later
 }
 
 void
@@ -41,5 +48,12 @@ Mgr::Request::pack(Ipc::TypedMsgHdr& msg) const
     msg.putPod(requestId);
     params.pack(msg);
 
-    msg.putFd(fd);
+    msg.putFd(conn->fd);
 }
+
+Ipc::Request::Pointer
+Mgr::Request::clone() const
+{
+    return new Request(*this);
+}
+