summaryrefslogtreecommitdiffstats
path: root/wsrep-lib/dbsim/db_server_service.hpp
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 12:24:36 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 12:24:36 +0000
commit06eaf7232e9a920468c0f8d74dcf2fe8b555501c (patch)
treee2c7b5777f728320e5b5542b6213fd3591ba51e2 /wsrep-lib/dbsim/db_server_service.hpp
parentInitial commit. (diff)
downloadmariadb-06eaf7232e9a920468c0f8d74dcf2fe8b555501c.tar.xz
mariadb-06eaf7232e9a920468c0f8d74dcf2fe8b555501c.zip
Adding upstream version 1:10.11.6.upstream/1%10.11.6
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'wsrep-lib/dbsim/db_server_service.hpp')
-rw-r--r--wsrep-lib/dbsim/db_server_service.hpp67
1 files changed, 67 insertions, 0 deletions
diff --git a/wsrep-lib/dbsim/db_server_service.hpp b/wsrep-lib/dbsim/db_server_service.hpp
new file mode 100644
index 00000000..d62ff11f
--- /dev/null
+++ b/wsrep-lib/dbsim/db_server_service.hpp
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2018 Codership Oy <info@codership.com>
+ *
+ * This file is part of wsrep-lib.
+ *
+ * Wsrep-lib is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Wsrep-lib is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with wsrep-lib. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#ifndef WSREP_DB_SERVER_SERVICE_HPP
+#define WSREP_DB_SERVER_SERVICE_HPP
+
+#include "wsrep/server_service.hpp"
+#include <string>
+
+namespace db
+{
+ class server;
+ class server_service : public wsrep::server_service
+ {
+ public:
+ server_service(db::server& server);
+ wsrep::storage_service* storage_service(wsrep::client_service&) override;
+ wsrep::storage_service* storage_service(wsrep::high_priority_service&) override;
+
+ void release_storage_service(wsrep::storage_service*) override;
+ wsrep::high_priority_service* streaming_applier_service(wsrep::client_service&) override;
+ wsrep::high_priority_service* streaming_applier_service(wsrep::high_priority_service&) override;
+ void release_high_priority_service(wsrep::high_priority_service*) override;
+
+ bool sst_before_init() const override;
+ int start_sst(const std::string&, const wsrep::gtid&, bool) override;
+ std::string sst_request() override;
+ void background_rollback(wsrep::unique_lock<wsrep::mutex>&,
+ wsrep::client_state&) override;
+ void bootstrap() override;
+ void log_message(enum wsrep::log::level, const char* message) override;
+ void log_dummy_write_set(wsrep::client_state&, const wsrep::ws_meta&)
+ override;
+ void log_view(wsrep::high_priority_service*,
+ const wsrep::view&) override;
+ void recover_streaming_appliers(wsrep::client_service&) override;
+ void recover_streaming_appliers(wsrep::high_priority_service&) override;
+ wsrep::view get_view(wsrep::client_service&, const wsrep::id&)
+ override;
+ wsrep::gtid get_position(wsrep::client_service&) override;
+ void set_position(wsrep::client_service&, const wsrep::gtid&) override;
+ void log_state_change(enum wsrep::server_state::state,
+ enum wsrep::server_state::state) override;
+ int wait_committing_transactions(int) override;
+ void debug_sync(const char*) override;
+ private:
+ db::server& server_;
+ };
+}
+
+#endif // WSREP_DB_SERVER_SERVICE_HPP