]>
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
11 #include "ipc/forward.h"
13 #include "mgr/forward.h"
15 #include "snmp/forward.h"
23 /// Receives coordination messages on behalf of its process or thread
24 class Strand
: public Port
29 virtual void start(); // Port (AsyncJob) API
32 virtual void timedout(); // Port (UsdOp) API
33 virtual void receive(const TypedMsgHdr
&message
); // Port API
36 void registerSelf(); /// let Coordinator know this strand exists
37 void handleRegistrationResponse(const HereIamMessage
&msg
);
38 void handleCacheMgrRequest(const Mgr::Request
& request
);
39 void handleCacheMgrResponse(const Mgr::Response
& response
);
41 void handleSnmpRequest(const Snmp::Request
& request
);
42 void handleSnmpResponse(const Snmp::Response
& response
);
46 bool isRegistered
; ///< whether Coordinator ACKed registration (unused)
49 Strand(const Strand
&); // not implemented
50 Strand
& operator =(const Strand
&); // not implemented
52 CBDATA_CLASS2(Strand
);
59 #endif /* SQUID_IPC_STRAND_H */