OpenCBDC Transaction Processor
Loading...
Searching...
No Matches
cbdc::parsec::agent::rpc::http_server Class Reference

RPC server for a agent. More...

#include <http_server.hpp>

Inheritance diagram for cbdc::parsec::agent::rpc::http_server:
Collaboration diagram for cbdc::parsec::agent::rpc::http_server:

Public Types

using server_type = cbdc::rpc::json_rpc_http_server
 Type alias for the underlying RPC server.
 

Public Member Functions

 http_server (std::unique_ptr< server_type > srv, std::shared_ptr< broker::interface > broker, std::shared_ptr< logging::log > log, const cbdc::parsec::config &cfg)
 Constructor.
 
 ~http_server () override
 Stops listening for incoming connections, waits for existing connections to drain.
 
auto init () -> bool override
 Starts listening for incoming connections and processing requests.
 
 http_server (const http_server &)=delete
 
auto operator= (const http_server &) -> http_server &=delete
 
 http_server (http_server &&)=delete
 
auto operator= (http_server &&) -> http_server &=delete
 
- Public Member Functions inherited from cbdc::parsec::agent::rpc::server_interface
 server_interface (std::shared_ptr< broker::interface > broker, std::shared_ptr< logging::log > log, const cbdc::parsec::config &cfg)
 Constructor.
 
virtual ~server_interface ()
 Stops retrying additional transactions and cleans up the runners.
 
 server_interface (const server_interface &)=delete
 
auto operator= (const server_interface &) -> server_interface &=delete
 
 server_interface (server_interface &&)=delete
 
auto operator= (server_interface &&) -> server_interface &=delete
 

Detailed Description

RPC server for a agent.

Manages retrying function execution if it fails due to a transient error.

Definition at line 26 of file http_server.hpp.

Member Typedef Documentation

◆ server_type

Type alias for the underlying RPC server.

Definition at line 29 of file http_server.hpp.

Constructor & Destructor Documentation

◆ http_server() [1/3]

cbdc::parsec::agent::rpc::http_server::http_server ( std::unique_ptr< server_type > srv,
std::shared_ptr< broker::interface > broker,
std::shared_ptr< logging::log > log,
const cbdc::parsec::config & cfg )

Constructor.

Registers the agent implementation with the RPC server using a request handler callback.

Parameters
srvpointer to an HTTP JSON-RPC server.
brokerbroker instance.
loglog instance.
cfgsystem configuration options.

Definition at line 23 of file http_server.cpp.

◆ ~http_server()

cbdc::parsec::agent::rpc::http_server::~http_server ( )
override

Stops listening for incoming connections, waits for existing connections to drain.

Definition at line 37 of file http_server.cpp.

◆ http_server() [2/3]

cbdc::parsec::agent::rpc::http_server::http_server ( const http_server & )
delete

◆ http_server() [3/3]

cbdc::parsec::agent::rpc::http_server::http_server ( http_server && )
delete

Member Function Documentation

◆ init()

auto cbdc::parsec::agent::rpc::http_server::init ( ) -> bool
overridevirtual

Starts listening for incoming connections and processing requests.

Returns
true if listening was sucessful.

Implements cbdc::parsec::agent::rpc::server_interface.

Definition at line 43 of file http_server.cpp.

◆ operator=() [1/2]

auto cbdc::parsec::agent::rpc::http_server::operator= ( const http_server & ) -> http_server &=delete
delete

◆ operator=() [2/2]

auto cbdc::parsec::agent::rpc::http_server::operator= ( http_server && ) -> http_server &=delete
delete

The documentation for this class was generated from the following files: