80 DataGroup(
int groupid, MPI_Comm c,
int timestart,
int depth,
int policy);
88 virtual void sync_timestamps();
103 std::vector<int> member_order;
105 std::set<int, std::greater<int>> timestamps;
109 int cohort_size = -1;
110 int cohort_rank = -1;
112 std::vector<int> get_member_ids();
117 int id, std::source_location loc = std::source_location::current()
119 void member_create(
int id,
void* data,
int count, MPI_Datatype datatype);
121 int id,
void* data,
int count, MPI_Datatype datatype, SerializeFunc& s
125 virtual void member_delete(
int memberid);
128 virtual void emplace_member(
DataMember&& member);
130 virtual void get_redundant_policy(
int* name,
void* value) = 0;
132 virtual void member_repair(
int member_id);
133 virtual void member_restore_from_rank(
134 int member_id,
void* target_bugger,
int max,
int timestamp,
int source_rank
138 virtual void commit();
139 virtual void snapshot_delete(
int timestamp);
140 virtual int get_number_of_snapshots();
141 virtual int get_snapshot_at_position(
int position);
142 virtual std::vector<int> get_snapshots();
145 virtual void revoke();
147 const mpixx::Group& get_cohort()
const {
return cohort; }