]>
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 "comm/forward.h"
12 #include "ipc/Inquirer.h"
13 #include "snmp/forward.h"
17 class CommCloseCbParams
;
22 /// Coordinator's job that sends a PDU request to each strand,
23 /// aggregates strand responses and send back the result to client
24 class Inquirer
: public Ipc::Inquirer
27 Inquirer(const Request
& aRequest
, const Ipc::StrandCoords
& coords
);
32 virtual bool doneAll() const;
34 /* Ipc::Inquirer API */
35 virtual void cleanup();
36 virtual void handleException(const std::exception
& e
);
37 virtual void sendResponse();
38 virtual bool aggregate(Ipc::Response::Pointer aResponse
);
41 void noteCommClosed(const CommCloseCbParams
& params
);
44 Pdu aggrPdu
; ///< aggregated pdu
45 Comm::ConnectionPointer conn
; ///< client connection descriptor
47 AsyncCall::Pointer writer
; ///< comm_write callback
48 AsyncCall::Pointer closer
; ///< comm_close handler
50 CBDATA_CLASS2(Inquirer
);
55 #endif /* SQUID_SNMPX_INQUIRER_H */