]> git.ipfire.org Git - thirdparty/squid.git/blobdiff - src/CommCalls.cc
SourceFormat Enforcement
[thirdparty/squid.git] / src / CommCalls.cc
index 6e5abbd154ac7cd4e8cd0e911da9f20bf872036e..7c812a937b7afde97323617eb4c8509b2c89bf8e 100644 (file)
@@ -1,16 +1,18 @@
 #include "squid.h"
-#include "fde.h"
+#include "comm/Connection.h"
 #include "CommCalls.h"
+#include "fde.h"
+#include "globals.h"
 
 /* CommCommonCbParams */
 
 CommCommonCbParams::CommCommonCbParams(void *aData):
-    data(cbdataReference(aData)), fd(-1), xerrno(0), flag(COMM_OK) 
+        data(cbdataReference(aData)), conn(), flag(COMM_OK), xerrno(0), fd(-1)
 {
 }
 
 CommCommonCbParams::CommCommonCbParams(const CommCommonCbParams &p):
-    data(cbdataReference(p.data)), fd(p.fd), xerrno(p.xerrno), flag(p.flag)
+        data(cbdataReference(p.data)), conn(p.conn), flag(p.flag), xerrno(p.xerrno), fd(p.fd)
 {
 }
 
@@ -22,7 +24,11 @@ CommCommonCbParams::~CommCommonCbParams()
 void
 CommCommonCbParams::print(std::ostream &os) const
 {
-    os << "FD " << fd;
+    if (conn != NULL)
+        os << conn;
+    else
+        os << "FD " << fd;
+
     if (xerrno)
         os << ", errno=" << xerrno;
     if (flag != COMM_OK)
@@ -31,27 +37,17 @@ CommCommonCbParams::print(std::ostream &os) const
         os << ", data=" << data;
 }
 
-
 /* CommAcceptCbParams */
 
-CommAcceptCbParams::CommAcceptCbParams(void *aData): CommCommonCbParams(aData),
-    nfd(-1)
-{
-}
-
-void
-CommAcceptCbParams::print(std::ostream &os) const
+CommAcceptCbParams::CommAcceptCbParams(void *aData):
+        CommCommonCbParams(aData)
 {
-    CommCommonCbParams::print(os);
-    if (nfd >= 0)
-        os << ", newFD " << nfd;
 }
 
-
 /* CommConnectCbParams */
 
 CommConnectCbParams::CommConnectCbParams(void *aData):
-    CommCommonCbParams(aData)
+        CommCommonCbParams(aData)
 {
 }
 
@@ -61,7 +57,7 @@ CommConnectCbParams::syncWithComm()
     // drop the call if the call was scheduled before comm_close but
     // is being fired after comm_close
     if (fd >= 0 && fd_table[fd].closing()) {
-       debugs(5, 3, HERE << "droppin late connect call: FD " << fd);
+        debugs(5, 3, HERE << "dropping late connect call: FD " << fd);
         return false;
     }
     return true; // now we are in sync and can handle the call
@@ -70,7 +66,7 @@ CommConnectCbParams::syncWithComm()
 /* CommIoCbParams */
 
 CommIoCbParams::CommIoCbParams(void *aData): CommCommonCbParams(aData),
-    buf(NULL), size(0)
+        buf(NULL), size(0)
 {
 }
 
@@ -79,14 +75,12 @@ CommIoCbParams::syncWithComm()
 {
     // change parameters if the call was scheduled before comm_close but
     // is being fired after comm_close
-    if (fd >= 0 && fd_table[fd].closing() && flag != COMM_ERR_CLOSING) {
-       debugs(5, 3, HERE << "converting late call to COMM_ERR_CLOSING: FD " << fd);
-       flag = COMM_ERR_CLOSING;
-       size = 0;
+    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;
     }
     return true; // now we are in sync and can handle the call
-}              
-
+}
 
 void
 CommIoCbParams::print(std::ostream &os) const
@@ -95,38 +89,49 @@ CommIoCbParams::print(std::ostream &os) const
     if (buf) {
         os << ", size=" << size;
         os << ", buf=" << (void*)buf;
-       }
+    }
 }
 
-
 /* CommCloseCbParams */
 
 CommCloseCbParams::CommCloseCbParams(void *aData):
-    CommCommonCbParams(aData)
+        CommCommonCbParams(aData)
 {
 }
 
 /* CommTimeoutCbParams */
 
 CommTimeoutCbParams::CommTimeoutCbParams(void *aData):
-    CommCommonCbParams(aData)
+        CommCommonCbParams(aData)
 {
 }
 
+/* FdeCbParams */
+
+FdeCbParams::FdeCbParams(void *aData):
+        CommCommonCbParams(aData)
+{
+}
 
 /* CommAcceptCbPtrFun */
 
 CommAcceptCbPtrFun::CommAcceptCbPtrFun(IOACB *aHandler,
-    const CommAcceptCbParams &aParams):
-    CommDialerParamsT<CommAcceptCbParams>(aParams),
-    handler(aHandler)
+                                       const CommAcceptCbParams &aParams):
+        CommDialerParamsT<CommAcceptCbParams>(aParams),
+        handler(aHandler)
+{
+}
+
+CommAcceptCbPtrFun::CommAcceptCbPtrFun(const CommAcceptCbPtrFun &o):
+        CommDialerParamsT<CommAcceptCbParams>(o.params),
+        handler(o.handler)
 {
 }
 
 void
 CommAcceptCbPtrFun::dial()
 {
-    handler(params.fd, params.nfd, &params.details, params.flag, params.xerrno, params.data);
+    handler(params);
 }
 
 void
@@ -137,20 +142,19 @@ CommAcceptCbPtrFun::print(std::ostream &os) const
     os << ')';
 }
 
-
 /* CommConnectCbPtrFun */
 
 CommConnectCbPtrFun::CommConnectCbPtrFun(CNCB *aHandler,
-    const CommConnectCbParams &aParams):
-    CommDialerParamsT<CommConnectCbParams>(aParams),
-    handler(aHandler)
+        const CommConnectCbParams &aParams):
+        CommDialerParamsT<CommConnectCbParams>(aParams),
+        handler(aHandler)
 {
 }
 
 void
 CommConnectCbPtrFun::dial()
 {
-    handler(params.fd, params.flag, params.xerrno, params.data);
+    handler(params.conn, params.flag, params.xerrno, params.data);
 }
 
 void
@@ -161,19 +165,18 @@ CommConnectCbPtrFun::print(std::ostream &os) const
     os << ')';
 }
 
-
 /* CommIoCbPtrFun */
 
 CommIoCbPtrFun::CommIoCbPtrFun(IOCB *aHandler, const CommIoCbParams &aParams):
-    CommDialerParamsT<CommIoCbParams>(aParams),
-    handler(aHandler)
+        CommDialerParamsT<CommIoCbParams>(aParams),
+        handler(aHandler)
 {
 }
 
 void
 CommIoCbPtrFun::dial()
 {
-    handler(params.fd, params.buf, params.size, params.flag, params.xerrno, params.data);
+    handler(params.conn, params.buf, params.size, params.flag, params.xerrno, params.data);
 }
 
 void
@@ -184,20 +187,19 @@ CommIoCbPtrFun::print(std::ostream &os) const
     os << ')';
 }
 
-
 /* CommCloseCbPtrFun */
 
-CommCloseCbPtrFun::CommCloseCbPtrFun(PF *aHandler,
-    const CommCloseCbParams &aParams):
-    CommDialerParamsT<CommCloseCbParams>(aParams),
-    handler(aHandler)
+CommCloseCbPtrFun::CommCloseCbPtrFun(CLCB *aHandler,
+                                     const CommCloseCbParams &aParams):
+        CommDialerParamsT<CommCloseCbParams>(aParams),
+        handler(aHandler)
 {
 }
 
 void
 CommCloseCbPtrFun::dial()
 {
-    handler(params.fd, params.data);
+    handler(params);
 }
 
 void
@@ -210,17 +212,17 @@ CommCloseCbPtrFun::print(std::ostream &os) const
 
 /* CommTimeoutCbPtrFun */
 
-CommTimeoutCbPtrFun::CommTimeoutCbPtrFun(PF *aHandler,
-    const CommTimeoutCbParams &aParams):
-    CommDialerParamsT<CommTimeoutCbParams>(aParams),
-    handler(aHandler)
+CommTimeoutCbPtrFun::CommTimeoutCbPtrFun(CTCB *aHandler,
+        const CommTimeoutCbParams &aParams):
+        CommDialerParamsT<CommTimeoutCbParams>(aParams),
+        handler(aHandler)
 {
 }
 
 void
 CommTimeoutCbPtrFun::dial()
 {
-    handler(params.fd, params.data);
+    handler(params);
 }
 
 void
@@ -230,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 << ')';
+}