OpenCBDC Transaction Processor
Loading...
Searching...
No Matches
cbdc::rpc Namespace Reference

Data Structures

class  async_server
 Generic asynchronous RPC server. More...
 
class  blocking_server
 Generic synchronous RPC server. More...
 
class  client
 Generic RPC client. More...
 
class  curl_initializer
 Class for performing libcurl global initialization. More...
 
class  epoll_event_handler
 Event handler implementation using Linux epoll. More...
 
class  event_handler
 Event handler interface for tracking events on non-blocking file descriptors. More...
 
struct  header
 RPC request and response header. More...
 
class  json_rpc_http_client
 Asynchronous HTTP JSON-RPC client implemented using libcurl. More...
 
class  json_rpc_http_server
 Asynchrounous HTTP JSON-RPC server implemented using libmicrohttpd and libjsoncpp. More...
 
class  kqueue_event_handler
 Event handler implementation using BSD kqueue. More...
 
struct  request
 RPC request message. More...
 
struct  response
 RPC response message. More...
 
class  server
 Generic RPC server. More...
 
class  tcp_client
 Implements an RPC client over TCP sockets. More...
 
class  tcp_server
 Implements an RPC server over a TCP socket. More...
 

Typedefs

using raw_async_server = async_server<buffer, buffer>
 Asynchronous pass-through RPC server.
 
using request_id_type = uint64_t
 
template<typename Request , typename Response >
using blocking_tcp_server = tcp_server<blocking_server<Request, Response>>
 TCP RPC server which implements blocking request handling logic.
 
template<typename Request , typename Response >
using async_tcp_server = tcp_server<async_server<Request, Response>>
 TCP RPC server which implements asynchronous request handling logic.
 

Enumerations

enum class  handler_type { blocking , async }
 Type to distinguish between servers that implement synchronous versus asynchronous request handling. More...
 

Typedef Documentation

◆ async_tcp_server

template<typename Request , typename Response >
using cbdc::rpc::async_tcp_server = tcp_server<async_server<Request, Response>>

TCP RPC server which implements asynchronous request handling logic.

Definition at line 88 of file tcp_server.hpp.

◆ blocking_tcp_server

template<typename Request , typename Response >
using cbdc::rpc::blocking_tcp_server = tcp_server<blocking_server<Request, Response>>

TCP RPC server which implements blocking request handling logic.

Definition at line 84 of file tcp_server.hpp.

◆ raw_async_server

Asynchronous pass-through RPC server.

Skips serialization and deserialization. Passes buffers directly to callback functions for subclasses to forward or implement their own processing logic.

Definition at line 139 of file async_server.hpp.

◆ request_id_type

using cbdc::rpc::request_id_type = uint64_t

Definition at line 12 of file header.hpp.

Enumeration Type Documentation

◆ handler_type

enum class cbdc::rpc::handler_type
strong

Type to distinguish between servers that implement synchronous versus asynchronous request handling.

Enumerator
blocking 
async 

Definition at line 20 of file util/rpc/server.hpp.