1
0
mirror of https://github.com/codership/wsrep-lib.git synced 2025-04-19 21:02:17 +03:00
wsrep-lib/dbsim/db_server_state.hpp
2018-06-17 10:07:48 +03:00

53 lines
1.6 KiB
C++

//
// Copyright (C) 2018 Codership Oy <info@codership.com>
//
#ifndef WSREP_DB_SERVER_CONTEXT_HPP
#define WSREP_DB_SERVER_CONTEXT_HPP
#include "wsrep/server_state.hpp"
#include "wsrep/client_state.hpp"
#include <atomic>
namespace db
{
class server;
class server_state : public wsrep::server_state
{
public:
server_state(db::server& server,
const std::string& name,
const std::string& server_id,
const std::string& address,
const std::string& working_dir)
: wsrep::server_state(
mutex_,
cond_,
name,
server_id,
address,
working_dir,
wsrep::server_state::rm_async)
, mutex_()
, cond_()
, server_(server)
{ }
wsrep::client_state* local_client_state() override;
wsrep::client_state* streaming_applier_client_state() override;
void release_client_state(wsrep::client_state*) override;
bool sst_before_init() const override;
void on_sst_request(const std::string&, const wsrep::gtid&, bool) override;
std::string on_sst_required() override;
void background_rollback(wsrep::client_state&) override;
void log_dummy_write_set(wsrep::client_state&, const wsrep::ws_meta&)
override;
private:
wsrep::default_mutex mutex_;
wsrep::default_condition_variable cond_;
db::server& server_;
};
}
#endif // WSREP_DB_SERVER_CONTEXT_HPP