// Copyright 2024 Memgraph Ltd. // // Use of this software is governed by the Business Source License // included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source // License, and you may not use this file except in compliance with the Business Source License. // // As of the Change Date specified in that file, in accordance with // the Business Source License, use of this software will be governed // by the Apache License, Version 2.0, included in the file // licenses/APL.txt. #include "dbms/rpc.hpp" #include "slk/streams.hpp" #include "storage/v2/replication/rpc.hpp" #include "utils/enum.hpp" #include "utils/typeinfo.hpp" namespace memgraph { namespace storage::replication { void CreateDatabaseReq::Save(const CreateDatabaseReq &self, memgraph::slk::Builder *builder) { memgraph::slk::Save(self, builder); } void CreateDatabaseReq::Load(CreateDatabaseReq *self, memgraph::slk::Reader *reader) { memgraph::slk::Load(self, reader); } void CreateDatabaseRes::Save(const CreateDatabaseRes &self, memgraph::slk::Builder *builder) { memgraph::slk::Save(self, builder); } void CreateDatabaseRes::Load(CreateDatabaseRes *self, memgraph::slk::Reader *reader) { memgraph::slk::Load(self, reader); } void DropDatabaseReq::Save(const DropDatabaseReq &self, memgraph::slk::Builder *builder) { memgraph::slk::Save(self, builder); } void DropDatabaseReq::Load(DropDatabaseReq *self, memgraph::slk::Reader *reader) { memgraph::slk::Load(self, reader); } void DropDatabaseRes::Save(const DropDatabaseRes &self, memgraph::slk::Builder *builder) { memgraph::slk::Save(self, builder); } void DropDatabaseRes::Load(DropDatabaseRes *self, memgraph::slk::Reader *reader) { memgraph::slk::Load(self, reader); } const utils::TypeInfo CreateDatabaseReq::kType{utils::TypeId::REP_CREATE_DATABASE_REQ, "CreateDatabaseReq", nullptr}; const utils::TypeInfo CreateDatabaseRes::kType{utils::TypeId::REP_CREATE_DATABASE_RES, "CreateDatabaseRes", nullptr}; const utils::TypeInfo DropDatabaseReq::kType{utils::TypeId::REP_DROP_DATABASE_REQ, "DropDatabaseReq", nullptr}; const utils::TypeInfo DropDatabaseRes::kType{utils::TypeId::REP_DROP_DATABASE_RES, "DropDatabaseRes", nullptr}; } // namespace storage::replication // Autogenerated SLK serialization code namespace slk { // Serialize code for CreateDatabaseReq void Save(const memgraph::storage::replication::CreateDatabaseReq &self, memgraph::slk::Builder *builder) { memgraph::slk::Save(self.epoch_id, builder); memgraph::slk::Save(self.expected_group_timestamp, builder); memgraph::slk::Save(self.new_group_timestamp, builder); memgraph::slk::Save(self.config, builder); } void Load(memgraph::storage::replication::CreateDatabaseReq *self, memgraph::slk::Reader *reader) { memgraph::slk::Load(&self->epoch_id, reader); memgraph::slk::Load(&self->expected_group_timestamp, reader); memgraph::slk::Load(&self->new_group_timestamp, reader); memgraph::slk::Load(&self->config, reader); } // Serialize code for CreateDatabaseRes void Save(const memgraph::storage::replication::CreateDatabaseRes &self, memgraph::slk::Builder *builder) { memgraph::slk::Save(utils::EnumToNum(self.result), builder); } void Load(memgraph::storage::replication::CreateDatabaseRes *self, memgraph::slk::Reader *reader) { uint8_t res = 0; memgraph::slk::Load(&res, reader); if (!utils::NumToEnum(res, self->result)) { throw SlkReaderException("Unexpected result line:{}!", __LINE__); } } // Serialize code for DropDatabaseReq void Save(const memgraph::storage::replication::DropDatabaseReq &self, memgraph::slk::Builder *builder) { memgraph::slk::Save(self.epoch_id, builder); memgraph::slk::Save(self.expected_group_timestamp, builder); memgraph::slk::Save(self.new_group_timestamp, builder); memgraph::slk::Save(self.uuid, builder); } void Load(memgraph::storage::replication::DropDatabaseReq *self, memgraph::slk::Reader *reader) { memgraph::slk::Load(&self->epoch_id, reader); memgraph::slk::Load(&self->expected_group_timestamp, reader); memgraph::slk::Load(&self->new_group_timestamp, reader); memgraph::slk::Load(&self->uuid, reader); } // Serialize code for DropDatabaseRes void Save(const memgraph::storage::replication::DropDatabaseRes &self, memgraph::slk::Builder *builder) { memgraph::slk::Save(utils::EnumToNum(self.result), builder); } void Load(memgraph::storage::replication::DropDatabaseRes *self, memgraph::slk::Reader *reader) { uint8_t res = 0; memgraph::slk::Load(&res, reader); if (!utils::NumToEnum(res, self->result)) { throw SlkReaderException("Unexpected result line:{}!", __LINE__); } } } // namespace slk } // namespace memgraph