19 std::function<bool(std::span<const uint8_t> source,
20 std::vector<uint8_t>& destination)>;
28 [[nodiscard]] std::optional<std::vector<uint8_t>>
29 migrate(std::span<const uint8_t> source, uint32_t target_version)
const;
33 uint32_t from_version = 0;
34 uint32_t to_version = 0;
38 const Entry* find(uint32_t from_version)
const;
40 std::vector<Entry> migrations_;
43[[nodiscard]] std::optional<uint32_t>
Offline migration support for serialized StateStore payloads.
Definition state_migration.hpp:16
std::function< bool(std::span< const uint8_t > source, std::vector< uint8_t > &destination)> MigrationFn
Definition state_migration.hpp:18
std::optional< std::vector< uint8_t > > migrate(std::span< const uint8_t > source, uint32_t target_version) const
bool register_migration(uint32_t from_version, uint32_t to_version, MigrationFn migration)
bool has_migration_from(uint32_t from_version) const
SequencerStateChannel is the audio-safe transport for a plugin's structured NON-parameter state: the ...
Definition audio_device_manager.hpp:48
std::optional< uint32_t > serialized_state_version(std::span< const uint8_t > source)