db: hints: sync_point: do not include idl definition file

idl definition files are not intended for direct
inclusion in .cc files.

Data types it represents are supposed to be defined
in regular C++ header, so define them in db/hints/scyn_point.hh
and include it rather then idl/hinted_handoff.idl.hh.

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
This commit is contained in:
Benny Halevy
2022-08-05 12:49:48 +03:00
parent 82fa205723
commit cfc7e9aa59
2 changed files with 21 additions and 1 deletions

View File

@@ -18,7 +18,7 @@
#include "idl/uuid.dist.impl.hh"
#include "idl/replay_position.dist.hh"
#include "idl/replay_position.dist.impl.hh"
#include "idl/hinted_handoff.idl.hh"
#include "sync_point.hh"
#include "idl/hinted_handoff.dist.hh"
#include "idl/hinted_handoff.dist.impl.hh"
#include "serializer.hh"

View File

@@ -39,5 +39,25 @@ struct sync_point {
std::ostream& operator<<(std::ostream& out, const sync_point& sp);
// IDL type
// Contains per-endpoint and per-shard information about replay positions
// for a particular type of hint queues (regular mutation hints or MV update hints)
struct per_manager_sync_point_v1 {
std::vector<gms::inet_address> addresses;
std::vector<db::replay_position> flattened_rps;
};
// IDL type
struct sync_point_v1 {
utils::UUID host_id;
uint16_t shard_count;
// Sync point information for regular mutation hints
db::hints::per_manager_sync_point_v1 regular_sp;
// Sync point information for materialized view hints
db::hints::per_manager_sync_point_v1 mv_sp;
};
}
}