]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/mgr/Inquirer.h
2 * DEBUG: section 16 Cache Manager API
6 #ifndef SQUID_MGR_INQUIRER_H
7 #define SQUID_MGR_INQUIRER_H
9 #include "comm/forward.h"
10 #include "ipc/Inquirer.h"
11 #include "mgr/Action.h"
14 class CommCloseCbParams
;
19 /// Coordinator's job that sends a cache manage request to each strand,
20 /// aggregating individual strand responses and dumping the result if needed
21 class Inquirer
: public Ipc::Inquirer
24 Inquirer(Action::Pointer anAction
, const Request
&aCause
,
25 const Ipc::StrandCoords
&coords
);
30 virtual bool doneAll() const;
32 /* Ipc::Inquirer API */
33 virtual void cleanup();
34 virtual void sendResponse();
35 virtual bool aggregate(Ipc::Response::Pointer aResponse
);
38 void noteWroteHeader(const CommIoCbParams
& params
);
39 void noteCommClosed(const CommCloseCbParams
& params
);
40 void removeCloseHandler();
41 Ipc::StrandCoords
applyQueryParams(const Ipc::StrandCoords
& aStrands
,
42 const QueryParams
& aParams
);
44 Action::Pointer aggrAction
; //< action to aggregate
46 Comm::ConnectionPointer conn
; ///< HTTP client socket descriptor
48 AsyncCall::Pointer writer
; ///< comm_write callback
49 AsyncCall::Pointer closer
; ///< comm_close handler
51 CBDATA_CLASS2(Inquirer
);
56 #endif /* SQUID_MGR_INQUIRER_H */