Elector *elector;
public:
explicit C_ElectionExpire(Elector *e) : elector(e) { }
- void finish(int r) {
+ void finish(int r) override {
elector->expire();
}
};
struct C_Scrub : public Context {
Monitor *mon;
explicit C_Scrub(Monitor *m) : mon(m) { }
- void finish(int r) {
+ void finish(int r) override {
mon->scrub_start();
}
};
struct C_ScrubTimeout : public Context {
Monitor *mon;
explicit C_ScrubTimeout(Monitor *m) : mon(m) { }
- void finish(int r) {
+ void finish(int r) override {
mon->scrub_timeout();
}
};
Monitor *mon;
public:
explicit C_Mon_Tick(Monitor *m) : mon(m) {}
- void finish(int r) {
+ void finish(int r) override {
mon->tick();
}
};
struct C_SyncTimeout : public Context {
Monitor *mon;
explicit C_SyncTimeout(Monitor *m) : mon(m) {}
- void finish(int r) {
+ void finish(int r) override {
mon->sync_timeout();
}
};
struct C_TimeCheck : public Context {
Monitor *mon;
explicit C_TimeCheck(Monitor *m) : mon(m) { }
- void finish(int r) {
+ void finish(int r) override {
mon->timecheck_start_round();
}
};
struct C_ProbeTimeout : public Context {
Monitor *mon;
explicit C_ProbeTimeout(Monitor *m) : mon(m) {}
- void finish(int r) {
+ void finish(int r) override {
mon->probe_timeout(r);
}
};
struct C_HealthToClogTick : public Context {
Monitor *mon;
explicit C_HealthToClogTick(Monitor *m) : mon(m) { }
- void finish(int r) {
+ void finish(int r) override {
if (r < 0)
return;
mon->do_health_to_clog();
struct C_HealthToClogInterval : public Context {
Monitor *mon;
explicit C_HealthToClogInterval(Monitor *m) : mon(m) { }
- void finish(int r) {
+ void finish(int r) override {
if (r < 0)
return;
mon->do_health_to_clog_interval();
Paxos *paxos;
public:
explicit C_CollectTimeout(Paxos *p) : paxos(p) {}
- void finish(int r) {
+ void finish(int r) override {
if (r == -ECANCELED)
return;
paxos->collect_timeout();
Paxos *paxos;
public:
explicit C_AcceptTimeout(Paxos *p) : paxos(p) {}
- void finish(int r) {
+ void finish(int r) override {
if (r == -ECANCELED)
return;
paxos->accept_timeout();
Paxos *paxos;
public:
explicit C_LeaseAckTimeout(Paxos *p) : paxos(p) {}
- void finish(int r) {
+ void finish(int r) override {
if (r == -ECANCELED)
return;
paxos->lease_ack_timeout();
Paxos *paxos;
public:
explicit C_LeaseTimeout(Paxos *p) : paxos(p) {}
- void finish(int r) {
+ void finish(int r) override {
if (r == -ECANCELED)
return;
paxos->lease_timeout();
Paxos *paxos;
public:
explicit C_LeaseRenew(Paxos *p) : paxos(p) {}
- void finish(int r) {
+ void finish(int r) override {
if (r == -ECANCELED)
return;
paxos->lease_renew_timeout();
Paxos *paxos;
public:
explicit C_Trimmed(Paxos *p) : paxos(p) { }
- void finish(int r) {
+ void finish(int r) override {
paxos->trimming = false;
}
};
PaxosService *ps;
public:
explicit C_Propose(PaxosService *p) : ps(p) { }
- void finish(int r) {
+ void finish(int r) override {
ps->proposal_timer = 0;
if (r >= 0)
ps->propose_pending();
struct C_Tick : public Context {
QuorumService *s;
C_Tick(QuorumService *qs) : s(qs) { }
- void finish(int r) {
+ void finish(int r) override {
if (r < 0)
return;
s->tick();