10次发布
0.4.1 | 2021年10月2日 |
---|---|
0.4.0 | 2021年10月1日 |
0.3.1 | 2021年9月2日 |
0.3.0 | 2019年12月31日 |
0.1.2 | 2018年12月7日 |
#20 in #natural
每月41次下载
用于duet
40KB
755 行
Electron的超级简单RPC (ESSRPC)
ESSRPC是一个轻量级的Rust RPC库,旨在通过调用普通特性能方法尽可能地实现RPC调用的透明性。
- 允许普通调用特性能方法调用另一个进程、网络等跨RPC边界的实现
- 对底层传输方式不敏感。
- 仅使用稳定的Rust。
魔法由essrpc
属性宏完成,它可以应用于任何函数都满足以下条件的特性能
- 返回一个实现
Result
的错误类型,该类型实现了From<RPCError>
。 - 仅使用实现
Serialize
的参数和返回类型 - 不是不安全的
请参阅文档以获取示例和更多详细信息。
状态
alpha。预期一切正常,但实际应用案例很少。
可配置功能
async_client
:启用异步客户端bincode_transport
:启用BincodeTransportjson_transport
:启用JSONTransportwasm_bindgen
:启用wasm-bindgen兼容性。具体来说,JSON传输中的UUID生成使用wasm-bindgen兼容的随机数。
灵感和动机
ESSRPC受到tarpc和来自jsonrpc的build_rpc_trait!
宏的启发。这两个项目都更为成熟。过程宏的最近稳定化使得ESSRPC能够从更自然的特性能定义生成RPC客户端/服务器对。ESSRPC也对底层RPC传输的假设更少。
依赖项
~1.8–4.5MB
~86K SLoC