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. | |
![]() | |
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. | |
![]() | |
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 | |
![]() | |
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. | |
![]() | |
using | request_type |
using | response_type |
![]() | |
static constexpr handler_type | handler = handler_type::async |
![]() | |
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. | |
![]() | |
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().