#include "squid.h"
-#include "fde.h"
#include "comm/Connection.h"
#include "CommCalls.h"
+#include "fde.h"
+#include "globals.h"
/* CommCommonCbParams */
os << ", data=" << data;
}
-
/* CommAcceptCbParams */
CommAcceptCbParams::CommAcceptCbParams(void *aData):
{
}
-
/* CommConnectCbParams */
CommConnectCbParams::CommConnectCbParams(void *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
{
}
}
-
/* CommCloseCbParams */
CommCloseCbParams::CommCloseCbParams(void *aData):
{
}
+/* FdeCbParams */
+
+FdeCbParams::FdeCbParams(void *aData):
+ CommCommonCbParams(aData)
+{
+}
/* CommAcceptCbPtrFun */
void
CommAcceptCbPtrFun::dial()
{
- handler(params.fd, params.conn, params.flag, params.xerrno, params.data);
+ handler(params);
}
void
os << ')';
}
-
/* CommConnectCbPtrFun */
CommConnectCbPtrFun::CommConnectCbPtrFun(CNCB *aHandler,
os << ')';
}
-
/* CommIoCbPtrFun */
CommIoCbPtrFun::CommIoCbPtrFun(IOCB *aHandler, const CommIoCbParams &aParams):
os << ')';
}
-
/* CommCloseCbPtrFun */
-CommCloseCbPtrFun::CommCloseCbPtrFun(PF *aHandler,
+CommCloseCbPtrFun::CommCloseCbPtrFun(CLCB *aHandler,
const CommCloseCbParams &aParams):
CommDialerParamsT<CommCloseCbParams>(aParams),
handler(aHandler)
void
CommCloseCbPtrFun::dial()
{
- handler(params.fd, params.data);
+ handler(params);
}
void
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 << ')';
+}