raft 0.1.0
Loading...
Searching...
No Matches
persister.hpp
1#pragma once
2
3#include <optional>
4#include <vector>
5
6#include <tl/expected.hpp>
7
8#include "raft/errors.hpp"
9
10namespace raft
11{
13 struct Persister
14 {
15 virtual ~Persister() = default;
16
21 virtual tl::expected<void, Error> saveState(std::vector<std::byte> state) noexcept = 0;
22
26 virtual tl::expected<std::vector<std::byte>, Error> loadState() noexcept = 0;
27 };
28} // namespace raft
The interface for persisting the Raft server's state.
Definition persister.hpp:14
virtual tl::expected< void, Error > saveState(std::vector< std::byte > state) noexcept=0
virtual tl::expected< std::vector< std::byte >, Error > loadState() noexcept=0