raft 0.1.0
Loading...
Searching...
No Matches
manager.hpp
1#pragma once
2
3#include "raft/network.hpp"
4
5namespace raft::inmemory
6{
9 {
10 std::shared_ptr<ServiceHandler>
12 };
13
19 class Manager
20 {
21 public:
22 virtual ~Manager() = default;
23
32 virtual tl::expected<std::shared_ptr<Network>, Error> createNetwork(
33 NetworkCreateConfig const& config) = 0;
34
35 virtual tl::expected<std::shared_ptr<ClientFactory>, Error> createClientFactory(
36 std::string const& clientAddress) = 0;
37
41 virtual tl::expected<void, Error> detachNetwork(std::string const& address) = 0;
44 virtual tl::expected<void, Error> attachNetwork(std::string const& address) = 0;
45 };
46
49 std::shared_ptr<Manager> createManager();
50} // namespace raft::inmemory
Manager provides an in-memory implementation for Raft networking and client creation.
Definition manager.hpp:20
virtual tl::expected< void, Error > detachNetwork(std::string const &address)=0
virtual tl::expected< void, Error > attachNetwork(std::string const &address)=0
virtual tl::expected< std::shared_ptr< Network >, Error > createNetwork(NetworkCreateConfig const &config)=0
Configuration structure for creating an inmemory network.
Definition manager.hpp:9
std::shared_ptr< ServiceHandler > handler
The service handler for processing Raft requests.
Definition manager.hpp:11