Crates.io | essrpc |
lib.rs | essrpc |
version | 0.4.1 |
source | src |
created_at | 2018-12-05 02:31:18.547226 |
updated_at | 2021-10-02 23:12:26.752049 |
description | RPC using natural trait definitions and calls. |
homepage | |
repository | https://github.com/Electron100/essrpc |
max_upload_size | |
id | 100180 |
size | 71,870 |
ESSRPC is a lightweight RPC library for Rust which aims to enable RPC calls as transparently as possible through calls to ordinary trait methods.
The magic is performed by the essrpc
attribute macro which may
be applied to any trait whose functions each meet the following conditions:
Result
whose error type implements From<RPCError>
.Serialize
Please see the documentation for examples and more details.
Alpha. Things are expected to work, but only a small amount of real world usage has occurred.
async_client
: Enables asynchronous clientsbincode_transport
: Enables BincodeTransportjson_transport
: Enables JSONTransportwasm_bindgen
: Enables wasm-bindgen compatibility. Specifically,
UUID generation in the JSON transport uses wasm-bindgen compatible
randomness.ESSRPC was inspired by tarpc and by the build_rpc_trait!
macro
from jsonrpc. Both of these are more mature projects. The recent
stabilization of procedural macros allows ESSRPC to generate an RPC
client/server pair from a more natural trait defintion. ESSRPC also makes
fewer assumptions about the underlying RPC transport.