]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/snmp/Inquirer.h
4 * DEBUG: section 49 SNMP Interface
8 #ifndef SQUID_SNMPX_INQUIRER_H
9 #define SQUID_SNMPX_INQUIRER_H
11 #include "ipc/Inquirer.h"
12 #include "snmp/forward.h"
16 class CommCloseCbParams
;
21 /// Coordinator's job that sends a PDU request to each strand,
22 /// aggregates strand responses and send back the result to client
23 class Inquirer
: public Ipc::Inquirer
26 Inquirer(const Request
& aRequest
, const Ipc::StrandCoords
& coords
);
31 virtual bool doneAll() const;
33 /* Ipc::Inquirer API */
34 virtual void cleanup();
35 virtual void handleException(const std::exception
& e
);
36 virtual void sendResponse();
37 virtual bool aggregate(Ipc::Response::Pointer aResponse
);
40 void noteCommClosed(const CommCloseCbParams
& params
);
43 Pdu aggrPdu
; ///< aggregated pdu
44 int fd
; ///< client connection descriptor
46 AsyncCall::Pointer writer
; ///< comm_write callback
47 AsyncCall::Pointer closer
; ///< comm_close handler
49 CBDATA_CLASS2(Inquirer
);
54 #endif /* SQUID_SNMPX_INQUIRER_H */