Signed-off-by: Michal Jarzabek <stiopa@gmail.com>
r->prs = outs;
r->onfinish = onfinish;
if (cct->_conf->rados_mon_op_timeout > 0) {
+ class C_CancelMonCommand : public Context
+ {
+ uint64_t tid;
+ MonClient *monc;
+ public:
+ C_CancelMonCommand(uint64_t tid, MonClient *monc) : tid(tid), monc(monc) {}
+ void finish(int r) {
+ monc->_cancel_mon_command(tid, -ETIMEDOUT);
+ }
+ };
r->ontimeout = new C_CancelMonCommand(r->tid, this);
timer.add_event_after(cct->_conf->rados_mon_op_timeout, r->ontimeout);
}
};
map<uint64_t,MonCommand*> mon_commands;
- class C_CancelMonCommand : public Context
- {
- uint64_t tid;
- MonClient *monc;
- public:
- C_CancelMonCommand(uint64_t tid, MonClient *monc) : tid(tid), monc(monc) {}
- void finish(int r) {
- monc->_cancel_mon_command(tid, -ETIMEDOUT);
- }
- };
-
void _send_command(MonCommand *r);
void _resend_mon_commands();
int _cancel_mon_command(uint64_t tid, int r);