15 std::shared_ptr<logging::log> logger)
16 : m_endpoint(std::move(endpoint)),
17 m_logger(std::move(logger)) {}
20 return m_sock.connect(m_endpoint);
24 -> std::optional<cbdc::atomizer::block> {
25 m_logger->info(
"Requesting block", height,
"from archiver...");
26 if(!m_sock.send(height)) {
27 m_logger->error(
"Error requesting block from archiver.");
31 m_logger->info(
"Waiting for archiver response...");
33 if(!m_sock.receive(resp_pkt)) {
34 m_logger->error(
"Error receiving block from archiver.");
39 if(!resp.has_value()) {
40 m_logger->error(
"Invalid response packet");
auto init() -> bool
Attempts to connect to the archiver.
auto get_block(uint64_t height) -> std::optional< cbdc::atomizer::block >
Retrieves the block at the given height from the archiver.
Buffer to store and retrieve byte data.
std::pair< ip_address, port_number_t > endpoint_t
[host name, port number].
auto from_buffer(nuraft::buffer &buf) -> std::optional< T >
Deserialize object of given type from a nuraft::buffer.