]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/ipc/Strand.h
4 * DEBUG: section 54 Interprocess Communication
8 #ifndef SQUID_IPC_STRAND_H
9 #define SQUID_IPC_STRAND_H
12 #include "mgr/forward.h"
14 #include "snmpx/forward.h"
22 /// Receives coordination messages on behalf of its process or thread
23 class Strand
: public Port
28 virtual void start(); // Port (AsyncJob) API
31 virtual void timedout(); // Port (UsdOp) API
32 virtual void receive(const TypedMsgHdr
&message
); // Port API
35 void registerSelf(); /// let Coordinator know this strand exists
36 void handleRegistrationResponse(const StrandCoord
&strand
);
37 void handleCacheMgrRequest(const Mgr::Request
& request
);
38 void handleCacheMgrResponse(const Mgr::Response
& response
);
40 void handleSnmpRequest(const Snmp::Request
& request
);
41 void handleSnmpResponse(const Snmp::Response
& response
);
45 bool isRegistered
; ///< whether Coordinator ACKed registration (unused)
48 Strand(const Strand
&); // not implemented
49 Strand
& operator =(const Strand
&); // not implemented
51 CBDATA_CLASS2(Strand
);
58 #endif /* SQUID_IPC_STRAND_H */