9#ifndef SQUID_SRC_COMMCALLS_H
10#define SQUID_SRC_COMMCALLS_H
66 void print(std::ostream &os)
const;
97 void print(std::ostream &os)
const;
118 void print(std::ostream &os)
const;
141template <
class Params_>
153template <
class Params>
157 DialerParams *dp =
dynamic_cast<DialerParams*
>(call->
getDialer());
164template <
class C,
class Params_>
177 this->
params.syncWithComm();
180 void print(std::ostream &os)
const override {
206 void print(std::ostream &os)
const override;
222 void print(std::ostream &os)
const override;
238 void print(std::ostream &os)
const override;
254 void print(std::ostream &os)
const override;
269 void print(std::ostream &os)
const override;
279template <
class Dialer>
287 const char *callName,
const Dialer &aDialer);
301 inline bool canFire()
override;
302 inline void fire()
override;
310template <
class Dialer>
313 const char *callName,
const Dialer &dialer)
323template <
class Dialer>
325 const char *callName,
const Dialer &aDialer):
326 AsyncCall(aDebugSection, aDebugLevel, callName),
331template <
class Dialer>
339 return cancel(
"callee gone");
341 if (!dialer.params.syncWithComm())
342 return cancel(
"out of sync w/comm");
345 return cancel(
"no callback requested");
350template <
class Dialer>
CommCbFunPtrCallT< Dialer > * commCbCall(int debugSection, int debugLevel, const char *callName, const Dialer &dialer)
void CTCB(const CommTimeoutCbParams ¶ms)
void IOCB(const Comm::ConnectionPointer &conn, char *, size_t size, Comm::Flag flag, int xerrno, void *data)
void IOACB(const CommAcceptCbParams ¶ms)
void CLCB(const CommCloseCbParams ¶ms)
void CNCB(const Comm::ConnectionPointer &conn, Comm::Flag status, int xerrno, void *data)
Params & GetCommParams(AsyncCall::Pointer &call)
int cbdataReferenceValid(const void *p)
virtual CallDialer * getDialer()=0
AnyP::PortCfgPointer port
the configuration listening port this call relates to (may be nil)
void print(std::ostream &os) const
RefCount< CommAcceptCbPtrFun > Pointer
CommAcceptCbParams Params
void print(std::ostream &os) const override
RefCount< CommCbFunPtrCallT< Dialer > > Pointer
CommCbFunPtrCallT & operator=(const CommCbFunPtrCallT &)
~CommCbFunPtrCallT() override
CallDialer * getDialer() override
CommCbFunPtrCallT(int debugSection, int debugLevel, const char *callName, const Dialer &aDialer)
CommCbFunPtrCallT(const CommCbFunPtrCallT &o)
void print(std::ostream &os) const override
void(C::* Method)(const Params &io)
bool canDial(AsyncCall &c) override
CommCbMemFunT(const CbcPointer< C > &aJob, Method aMeth)
void print(std::ostream &os) const override
bool syncWithComm()
adjust using the current Comm state; returns false to cancel the call
CommCommonCbParams & operator=(const CommCommonCbParams ¶ms)
int xerrno
The last errno to occur. non-zero if flag is Comm::COMM_ERROR.
int fd
FD which the call was about. Set by the async call creator.
void print(std::ostream &os) const
Comm::Flag flag
comm layer result status.
Comm::ConnectionPointer conn
void print(std::ostream &os) const override
CommConnectCbParams Params
CommDialerParamsT(const Params &io)
void print(std::ostream &os) const
void print(std::ostream &os) const override
CommTimeoutCbParams Params
void print(std::ostream &os) const override
virtual bool canDial(AsyncCall &call)