29#if HAVE_DISKIO_MODULE_IPCIO
58 setTimeout(6,
"Ipc::Strand::timeoutHandler");
73#if HAVE_DISKIO_MODULE_IPCIO
85 handleCacheMgrRequest(req);
91 handleCacheMgrResponse(
Mine(resp));
102 handleSnmpRequest(req);
108 handleSnmpResponse(
Mine(resp));
131 action->respond(request);
155 debugs(54, 6, isRegistered);
#define Assure(condition)
#define CBDATA_NAMESPACED_CLASS_INIT(namespace, type)
Mgr::Action::Pointer createRequestedAction(const Mgr::ActionParams &)
static CacheManager * GetInstance()
static void HandleNotification(const Ipc::TypedMsgHdr &msg)
handle queue push notifications from worker or disker
static void HandleOpenResponse(const Ipc::StrandMessage &)
handle open response from coordinator
static void HandleNotification(const Ipc::TypedMsgHdr &msg)
handle queue push notifications from worker or disker
static void HandleRemoteAck(RequestId)
finds and calls the right Forwarder upon Coordinator's response
Waits for and receives incoming IPC messages; kids handle the messages.
void start() override=0
called by AsyncStart; do not call directly
virtual void receive(const TypedMsgHdr &)=0
RequestId requestId
matches the request[or] with the response
RequestId requestId
the ID of the request we are responding to
a response to SharedListenRequest
int kidId
internal Squid process number
an IPC message carrying StrandCoord
static void NotifyCoordinator(MessageType, const char *tag)
creates and sends StrandMessage to Coordinator
StrandCoord strand
messageType-specific coordinates (e.g., sender)
void handleCacheMgrRequest(const Mgr::Request &request)
void handleRegistrationResponse(const StrandMessage &)
let Coordinator know this strand exists
void receive(const TypedMsgHdr &message) override
void handleSnmpResponse(const Snmp::Response &response)
void handleCacheMgrResponse(const Mgr::Response &response)
void timedout() override
called after setTimeout() if timed out
void start() override
called by AsyncStart; do not call directly
void handleSnmpRequest(const Snmp::Request &request)
struct msghdr with a known type, fixed-size I/O and control buffers
ActionParams params
action name and parameters
Pdu pdu
SNMP protocol data unit.
#define debugs(SECTION, LEVEL, CONTENT)
void fatalf(const char *fmt,...)
void SharedListenJoined(const SharedListenResponse &response)
process Coordinator response to SharedListenRequest
const char strandAddrLabel[]
strand's listening address unique label
const Answer & Mine(const Answer &answer)
@ mtRegisterStrand
notifies about our strand existence
@ mtCollapsedForwardingNotification
@ mtStrandReady
an mtFindStrand answer: the strand exists and should be usable
@ mtStrandRegistered
acknowledges mtRegisterStrand acceptance
void SendResponse(Ipc::RequestId, const Pdu &)