29 using Read = std::map<K, std::tuple<Version, LastReadVersion>>;
99 return sizeof(uint64_t) +
sizeof(data.
version) + data.
value.size();
106 uint64_t data_size =
sizeof(t.
version) + t.
value.size();
110 reinterpret_cast<const uint8_t*
>(&data_size),
115 reinterpret_cast<const uint8_t*
>(&t.
version),
120 reinterpret_cast<const uint8_t*
>(t.
value.data()),
122 return sizeof(uint64_t) +
sizeof(t.
version) + t.
value.size();
127 const uint8_t*& data,
size_t& size)
130 auto data_size = serialized::read<uint64_t>(data, size);
131 auto version = serialized::read<ccf::kv::Version>(data, size);
134 ret.
value.append(data, data + data_size);
143 return sizeof(uint64_t) + data.size();
150 uint64_t data_size = t.size();
154 reinterpret_cast<const uint8_t*
>(&data_size),
157 data, size,
reinterpret_cast<const uint8_t*
>(t.data()), data_size);
158 return sizeof(uint64_t) + data_size;
165 auto data_size = serialized::read<uint64_t>(data, size);
167 ret.append(data, data + data_size);
Definition kv_types.h:542
SerialisedEntry K
Definition untyped_change_set.h:17
ccf::ByteVector SerialisedEntry
Definition untyped_change_set.h:14
std::hash< SerialisedEntry > SerialisedKeyHasher
Definition untyped_change_set.h:15
SerialisedKeyHasher H
Definition untyped_change_set.h:19
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:69
SerialisedEntry V
Definition untyped_change_set.h:18
Version LastReadVersion
Definition untyped_change_set.h:28
std::map< K, std::tuple< Version, LastReadVersion > > Read
Definition untyped_change_set.h:29
uint64_t Version
Definition version.h:10
llvm_vecsmall::SmallVector< uint8_t, CHAR_BIT > ByteVector
Definition byte_vector.h:15
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:103
size_t serialize< ccf::kv::untyped::SerialisedEntry >(const ccf::kv::untyped::SerialisedEntry &t, uint8_t *&data, size_t &size)
Definition untyped_change_set.h:147
size_t get_size< ccf::kv::untyped::VersionV >(const ccf::kv::untyped::VersionV &data)
Definition untyped_change_set.h:96
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:140
ccf::kv::untyped::VersionV deserialize< ccf::kv::untyped::VersionV >(const uint8_t *&data, size_t &size)
Definition untyped_change_set.h:126
void write(uint8_t *&data, size_t &size, const T &v)
Definition serialized.h:105
void skip(const uint8_t *&data, size_t &size, size_t skip)
Definition serialized.h:165
Definition version_v.h:11
V value
Definition version_v.h:14
Version version
Definition version_v.h:12
Definition untyped_change_set.h:34
ccf::kv::untyped::Read reads
Definition untyped_change_set.h:45
const ccf::kv::untyped::State state
Definition untyped_change_set.h:40
const ccf::kv::untyped::State committed
Definition untyped_change_set.h:41
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:48
const size_t rollback_counter
Definition untyped_change_set.h:39
bool has_writes() const override
Definition untyped_change_set.h:63
Version read_version
Definition untyped_change_set.h:44
const Version start_version
Definition untyped_change_set.h:42
ccf::kv::untyped::Write writes
Definition untyped_change_set.h:46
Definition untyped_change_set.h:74
SnapshotChangeSet(ccf::kv::untyped::State &&snapshot_state, Version version_)
Definition untyped_change_set.h:78
SnapshotChangeSet(SnapshotChangeSet &)=delete
const ccf::kv::untyped::State state
Definition untyped_change_set.h:75
bool has_writes() const override
Definition untyped_change_set.h:86
const Version version
Definition untyped_change_set.h:76