63
63
virtual wsrep_status_t post_commit(TrxHandle* trx) = 0;
64
64
virtual wsrep_status_t post_rollback(TrxHandle* trx) = 0;
65
65
virtual wsrep_status_t replay_trx(TrxHandle* trx, void* replay_ctx) = 0;
66
virtual void abort_trx(TrxHandle* trx) throw (gu::Exception) = 0;
66
virtual void abort_trx(TrxHandle* trx) = 0;
67
67
virtual wsrep_status_t causal_read(wsrep_seqno_t*) = 0;
68
68
virtual wsrep_status_t to_isolation_begin(TrxHandle* trx) = 0;
69
69
virtual wsrep_status_t to_isolation_end(TrxHandle* trx) = 0;
75
75
size_t state_len) = 0;
77
77
// action source interface
78
virtual void process_trx(void* recv_ctx, TrxHandle* trx)
79
throw (ApplyException, gu::Exception) = 0;
78
virtual void process_trx(void* recv_ctx, TrxHandle* trx) = 0;
80
79
virtual void process_commit_cut(wsrep_seqno_t seq,
81
wsrep_seqno_t seqno_l)
82
throw (gu::Exception) = 0;
80
wsrep_seqno_t seqno_l) = 0;
83
81
virtual void process_conf_change(void* recv_ctx,
84
82
const wsrep_view_info_t& view_info,
87
wsrep_seqno_t seqno_l)
88
throw (gu::Exception) = 0;
85
wsrep_seqno_t seqno_l) = 0;
89
86
virtual void process_state_req(void* recv_ctx, const void* req,
91
88
wsrep_seqno_t seqno_l,
92
wsrep_seqno_t donor_seq)
93
throw (gu::Exception) = 0;
94
virtual void process_join(wsrep_seqno_t seqno, wsrep_seqno_t seqno_l)
95
throw (gu::Exception) = 0;
89
wsrep_seqno_t donor_seq) = 0;
90
virtual void process_join(wsrep_seqno_t seqno, wsrep_seqno_t seqno_l) = 0;
96
91
virtual void process_sync(wsrep_seqno_t seqno_l) = 0;
98
93
virtual const struct wsrep_stats_var* stats_get() const = 0;
99
94
// static void stats_free(struct wsrep_stats_var*) must be declared in
100
95
// the child class
97
/*! @throws NotFound */
102
98
virtual void param_set (const std::string& key,
103
const std::string& value)
104
throw (gu::Exception, gu::NotFound) = 0;
99
const std::string& value) = 0;
106
virtual std::string param_get (const std::string& key) const
107
throw (gu::Exception, gu::NotFound) = 0;
101
/*! @throws NotFound */
102
virtual std::string param_get (const std::string& key) const = 0;
109
104
virtual const gu::Config& params() const = 0;
111
virtual wsrep_seqno_t pause() throw (gu::Exception) = 0;
112
virtual void resume() throw () = 0;
106
virtual wsrep_seqno_t pause() = 0;
107
virtual void resume() = 0;
114
virtual void desync() throw (gu::Exception) = 0;
115
virtual void resync() throw (gu::Exception) = 0;
109
virtual void desync() = 0;
110
virtual void resync() = 0;