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