|
OpenCBDC Transaction Processor
|
Generic RPC server for raft nodes for which the replicated state machine handles the request processing logic. More...
#include <rpc_server.hpp>


Public Member Functions | |
| void | register_raft_node (std::shared_ptr< node > impl) |
| Registers the raft node whose state machine handles RPC requests for this server. | |
Public Member Functions inherited from cbdc::rpc::async_server< Request, Response, InBuffer, OutBuffer > | |
| async_server ()=default | |
| async_server (async_server &&) noexcept=default | |
| auto | operator= (async_server &&) noexcept -> async_server &=default |
| async_server (const async_server &)=default | |
| auto | operator= (const async_server &) -> async_server &=default |
| ~async_server () override=default | |
| void | register_handler_callback (callback_type callback) |
| Register a request handler callback function for processing requests, generating responses, and passing those responses to a response callback. | |
Public Member Functions inherited from cbdc::rpc::server< Request, Response, buffer, buffer > | |
| server ()=default | |
| server (server &&) noexcept=default | |
| server (const server &)=default | |
| auto | operator= (server &&) noexcept -> server &=default |
| auto | operator= (const server &) -> server &=default |
| virtual | ~server ()=default |
Additional Inherited Members | |
Public Types inherited from cbdc::rpc::async_server< Request, Response, InBuffer, OutBuffer > | |
| using | response_callback_type = std::function<void(std::optional<Response>)> |
| Response callback function type. | |
| using | callback_type = std::function<bool(Request, response_callback_type)> |
| Request handler callback function. | |
Public Types inherited from cbdc::rpc::server< Request, Response, buffer, buffer > | |
| using | request_type |
| using | response_type |
Static Public Attributes inherited from cbdc::rpc::async_server< Request, Response, InBuffer, OutBuffer > | |
| static constexpr handler_type | handler = handler_type::async |
Protected Member Functions inherited from cbdc::rpc::async_server< Request, Response, InBuffer, OutBuffer > | |
| auto | async_call (InBuffer request_buf, std::function< void(cbdc::buffer)> response_callback) -> std::optional< OutBuffer > |
| Deserializes an RPC request, then calls the registered request handler function. | |
Protected Member Functions inherited from cbdc::rpc::server< Request, Response, buffer, buffer > | |
| auto | deserialize_request (BufType &request_buf) -> std::optional< request_type > |
| Deserializes a request from a buffer. | |
| auto | serialize_response (header request_header, std::optional< R > response_payload) -> buffer |
| Serialize a response into a buffer. | |
| auto | make_failure_response (cbdc::buffer &request_buf) -> std::optional< cbdc::buffer > |
| Serialize a failure response buffer from the given request buffer. | |
Generic RPC server for raft nodes for which the replicated state machine handles the request processing logic.
Replicates requests to the cluster which executes them via its state machine. Once state machine execution completes, the raft node returns the result via a callback function.
Definition at line 18 of file rpc_server.hpp.
|
inline |
Registers the raft node whose state machine handles RPC requests for this server.
| impl | pointer to the raft node. |
Definition at line 24 of file rpc_server.hpp.
References cbdc::rpc::async_server< Request, Response, InBuffer, OutBuffer >::register_handler_callback().
