38 using Read = std::map<K, std::tuple<Version, LastReadVersion>>;
108 return sizeof(uint64_t) +
sizeof(data.
version) + data.
value.size();
115 uint64_t data_size =
sizeof(t.
version) + t.
value.size();
119 reinterpret_cast<const uint8_t*
>(&data_size),
124 reinterpret_cast<const uint8_t*
>(&t.
version),
129 reinterpret_cast<const uint8_t*
>(t.
value.data()),
131 return sizeof(uint64_t) +
sizeof(t.
version) + t.
value.size();
136 const uint8_t*& data,
size_t& size)
139 uint64_t data_size = serialized::read<uint64_t>(data, size);
143 ret.
value.append(data, data + data_size);
152 return sizeof(uint64_t) + data.size();
159 uint64_t data_size = t.size();
163 reinterpret_cast<const uint8_t*
>(&data_size),
166 data, size,
reinterpret_cast<const uint8_t*
>(t.data()), data_size);
167 return sizeof(uint64_t) + data_size;
174 uint64_t data_size = serialized::read<uint64_t>(data, size);
176 ret.append(data, data + data_size);
Definition kv_types.h:590
SerialisedEntry K
Definition untyped_change_set.h:22
ccf::ByteVector SerialisedEntry
Definition untyped_change_set.h:19
std::hash< SerialisedEntry > SerialisedKeyHasher
Definition untyped_change_set.h:20
SerialisedKeyHasher H
Definition untyped_change_set.h:24
std::map< ccf::kv::serialisers::SerialisedEntry, std::optional< ccf::kv::serialisers::SerialisedEntry > > Write
Definition untyped.h:16
std::unique_ptr< ChangeSet > ChangeSetPtr
Definition untyped_change_set.h:78
SerialisedEntry V
Definition untyped_change_set.h:23
Version LastReadVersion
Definition untyped_change_set.h:37
std::map< K, std::tuple< Version, LastReadVersion > > Read
Definition untyped_change_set.h:38
uint64_t Version
Definition version.h:8
llvm_vecsmall::SmallVector< uint8_t, 8 > ByteVector
Definition byte_vector.h:14
Definition map_serializers.h:11
size_t serialize< ccf::kv::untyped::VersionV >(const ccf::kv::untyped::VersionV &t, uint8_t *&data, size_t &size)
Definition untyped_change_set.h:112
size_t serialize< ccf::kv::untyped::SerialisedEntry >(const ccf::kv::untyped::SerialisedEntry &t, uint8_t *&data, size_t &size)
Definition untyped_change_set.h:156
size_t get_size< ccf::kv::untyped::VersionV >(const ccf::kv::untyped::VersionV &data)
Definition untyped_change_set.h:105
T deserialize(const uint8_t *&data, size_t &size)
Definition map_serializers.h:62
size_t get_size< ccf::kv::untyped::SerialisedEntry >(const ccf::kv::untyped::SerialisedEntry &data)
Definition untyped_change_set.h:149
ccf::kv::untyped::VersionV deserialize< ccf::kv::untyped::VersionV >(const uint8_t *&data, size_t &size)
Definition untyped_change_set.h:135
void write(uint8_t *&data, size_t &size, const T &v)
Definition serialized.h:106
void skip(const uint8_t *&data, size_t &size, size_t skip)
Definition serialized.h:166
Definition version_v.h:11
V value
Definition version_v.h:14
Version version
Definition version_v.h:12
Definition untyped_change_set.h:43
ccf::kv::untyped::Read reads
Definition untyped_change_set.h:54
const ccf::kv::untyped::State state
Definition untyped_change_set.h:49
const ccf::kv::untyped::State committed
Definition untyped_change_set.h:50
ChangeSet(ChangeSet &)=delete
ChangeSet(size_t rollbacks, ccf::kv::untyped::State ¤t_state, ccf::kv::untyped::State &committed_state, ccf::kv::untyped::Write changed_writes, Version current_version)
Definition untyped_change_set.h:57
const size_t rollback_counter
Definition untyped_change_set.h:48
bool has_writes() const override
Definition untyped_change_set.h:72
Version read_version
Definition untyped_change_set.h:53
const Version start_version
Definition untyped_change_set.h:51
ChangeSet()
Definition untyped_change_set.h:45
ccf::kv::untyped::Write writes
Definition untyped_change_set.h:55
Definition untyped_change_set.h:83
SnapshotChangeSet(ccf::kv::untyped::State &&snapshot_state, Version version_)
Definition untyped_change_set.h:87
SnapshotChangeSet(SnapshotChangeSet &)=delete
const ccf::kv::untyped::State state
Definition untyped_change_set.h:84
bool has_writes() const override
Definition untyped_change_set.h:95
const Version version
Definition untyped_change_set.h:85