rpc is a framework that can be used to define client-server communication protocols. For a high-level description of the RPC features see doc/rpc.md, doc/rpc-streaming.md and doc/rpc-compression.md
The entry point for setting up an rpc protocol is seastar::rpc::protocol.
◆ seastar::rpc::isolation_config
struct seastar::rpc::isolation_config |
Class Members |
scheduling_group |
sched_group |
Specifies a scheduling group under which the connection (and all its verb handlers) will execute.
|
◆ seastar::rpc::resource_limits
struct seastar::rpc::resource_limits |
Class Members |
typedef function< future< isolation_config >(sstring isolation_cookie)> |
asyncronous_isolation_function |
|
typedef variant< syncronous_isolation_function, asyncronous_isolation_function > |
isolation_function_alternatives |
|
typedef function< isolation_config(sstring isolation_cookie)> |
syncronous_isolation_function |
Configures isolation for a connection based on its isolation cookie. May throw, in which case the connection will be terminated.
|
Class Members |
size_t |
basic_request_size |
Minimum request footprint in memory. |
unsigned |
bloat_factor |
Serialized size multiplied by this to estimate memory used by request. |
isolation_function_alternatives |
isolate_connection |
|
size_t |
max_memory |
Maximum amount of memory that may be consumed by all requests
|
◆ seastar::rpc::client_options
struct seastar::rpc::client_options |
Class Members |
factory * |
compressor_factory |
|
sstring |
isolation_cookie |
Configures how this connection is isolated from other connection on the same server.
- See also
- resource_limits::isolate_connection
|
optional< tcp_keepalive_params > |
keepalive |
|
sstring |
metrics_domain |
|
bool |
reuseaddr |
|
bool |
send_handler_duration |
|
bool |
send_timeout_data |
|
connection_id |
stream_parent |
|
bool |
tcp_nodelay |
|
◆ seastar::rpc::server_options
struct seastar::rpc::server_options |
Class Members |
factory * |
compressor_factory |
|
function< bool(const socket_address &)> |
filter_connection |
|
load_balancing_algorithm |
load_balancing_algorithm |
|
optional< streaming_domain_type > |
streaming_domain |
|
bool |
tcp_nodelay |
|
◆ default_isolate_connection()
isolation_config seastar::rpc::default_isolate_connection |
( |
sstring |
isolation_cookie | ) |
|