Files
scylladb/idl/group0_state_machine.idl.hh
Avi Kivity 0ae22a09d4 LICENSE: Update to version 1.1
Updated terms of non-commercial use (must be a never-customer).
2026-04-12 19:46:33 +03:00

51 lines
1.1 KiB
C++

/*
* Copyright 2022-present ScyllaDB
*/
/*
* SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.1
*/
#include "raft/raft.hh"
#include "gms/inet_address_serializer.hh"
#include "utils/chunked_vector.hh"
#include "idl/frozen_schema.idl.hh"
#include "idl/uuid.idl.hh"
#include "idl/raft_storage.idl.hh"
namespace service {
struct schema_change {
utils::chunked_vector<canonical_mutation> mutations;
};
struct broadcast_table_query {
service::broadcast_tables::query query;
};
struct topology_change {
utils::chunked_vector<canonical_mutation> mutations;
};
struct mixed_change {
utils::chunked_vector<canonical_mutation> mutations;
};
struct write_mutations {
utils::chunked_vector<canonical_mutation> mutations;
};
struct group0_command {
std::variant<service::schema_change, service::broadcast_table_query, service::topology_change, service::write_mutations, service::mixed_change> change;
canonical_mutation history_append;
std::optional<utils::UUID> prev_state_id;
utils::UUID new_state_id;
gms::inet_address creator_addr;
raft::server_id creator_id;
};
} // namespace service