]> git.ipfire.org Git - thirdparty/squid.git/blobdiff - src/CommCalls.cc
SourceFormat Enforcement
[thirdparty/squid.git] / src / CommCalls.cc
index ef9456894c48056c3656b9676e44f8dc57d3b347..7c812a937b7afde97323617eb4c8509b2c89bf8e 100644 (file)
@@ -1,7 +1,8 @@
 #include "squid.h"
-#include "fde.h"
 #include "comm/Connection.h"
 #include "CommCalls.h"
+#include "fde.h"
+#include "globals.h"
 
 /* CommCommonCbParams */
 
@@ -36,7 +37,6 @@ CommCommonCbParams::print(std::ostream &os) const
         os << ", data=" << data;
 }
 
-
 /* CommAcceptCbParams */
 
 CommAcceptCbParams::CommAcceptCbParams(void *aData):
@@ -44,7 +44,6 @@ CommAcceptCbParams::CommAcceptCbParams(void *aData):
 {
 }
 
-
 /* CommConnectCbParams */
 
 CommConnectCbParams::CommConnectCbParams(void *aData):
@@ -74,27 +73,15 @@ CommIoCbParams::CommIoCbParams(void *aData): CommCommonCbParams(aData),
 bool
 CommIoCbParams::syncWithComm()
 {
-#if 0 // transition past??
-    // transition only: read/write legacy code does not know about conn, it just sets FD
-    if (fd >= 0) {
-        if (conn == NULL) {
-            conn = new Comm::Connection;
-            conn->fd = fd;
-        }
-    }
-#endif
-
     // change parameters if the call was scheduled before comm_close but
     // is being fired after comm_close
-    if (conn->fd >= 0 && fd_table[conn->fd].closing() && flag != COMM_ERR_CLOSING) {
+    if ((conn->fd < 0 || fd_table[conn->fd].closing()) && flag != COMM_ERR_CLOSING) {
         debugs(5, 3, HERE << "converting late call to COMM_ERR_CLOSING: " << conn);
         flag = COMM_ERR_CLOSING;
-        size = 0;
     }
     return true; // now we are in sync and can handle the call
 }
 
-
 void
 CommIoCbParams::print(std::ostream &os) const
 {
@@ -105,7 +92,6 @@ CommIoCbParams::print(std::ostream &os) const
     }
 }
 
-
 /* CommCloseCbParams */
 
 CommCloseCbParams::CommCloseCbParams(void *aData):
@@ -120,6 +106,12 @@ CommTimeoutCbParams::CommTimeoutCbParams(void *aData):
 {
 }
 
+/* FdeCbParams */
+
+FdeCbParams::FdeCbParams(void *aData):
+        CommCommonCbParams(aData)
+{
+}
 
 /* CommAcceptCbPtrFun */
 
@@ -139,7 +131,7 @@ CommAcceptCbPtrFun::CommAcceptCbPtrFun(const CommAcceptCbPtrFun &o):
 void
 CommAcceptCbPtrFun::dial()
 {
-    handler(params.fd, params.conn, params.flag, params.xerrno, params.data);
+    handler(params);
 }
 
 void
@@ -150,7 +142,6 @@ CommAcceptCbPtrFun::print(std::ostream &os) const
     os << ')';
 }
 
-
 /* CommConnectCbPtrFun */
 
 CommConnectCbPtrFun::CommConnectCbPtrFun(CNCB *aHandler,
@@ -174,7 +165,6 @@ CommConnectCbPtrFun::print(std::ostream &os) const
     os << ')';
 }
 
-
 /* CommIoCbPtrFun */
 
 CommIoCbPtrFun::CommIoCbPtrFun(IOCB *aHandler, const CommIoCbParams &aParams):
@@ -197,10 +187,9 @@ CommIoCbPtrFun::print(std::ostream &os) const
     os << ')';
 }
 
-
 /* CommCloseCbPtrFun */
 
-CommCloseCbPtrFun::CommCloseCbPtrFun(PF *aHandler,
+CommCloseCbPtrFun::CommCloseCbPtrFun(CLCB *aHandler,
                                      const CommCloseCbParams &aParams):
         CommDialerParamsT<CommCloseCbParams>(aParams),
         handler(aHandler)
@@ -210,7 +199,7 @@ CommCloseCbPtrFun::CommCloseCbPtrFun(PF *aHandler,
 void
 CommCloseCbPtrFun::dial()
 {
-    handler(params.fd, params.data);
+    handler(params);
 }
 
 void
@@ -243,3 +232,25 @@ CommTimeoutCbPtrFun::print(std::ostream &os) const
     params.print(os);
     os << ')';
 }
+
+/* FdeCbPtrFun */
+
+FdeCbPtrFun::FdeCbPtrFun(FDECB *aHandler, const FdeCbParams &aParams) :
+        CommDialerParamsT<FdeCbParams>(aParams),
+        handler(aHandler)
+{
+}
+
+void
+FdeCbPtrFun::dial()
+{
+    handler(params);
+}
+
+void
+FdeCbPtrFun::print(std::ostream &os) const
+{
+    os << '(';
+    params.print(os);
+    os << ')';
+}