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

MIT许可

40KB
755

Latest Version docs

Electron的超级简单RPC (ESSRPC)

ESSRPC是一个轻量级的Rust RPC库,旨在通过调用普通特性能方法尽可能地实现RPC调用的透明性。

  • 允许普通调用特性能方法调用另一个进程、网络等跨RPC边界的实现
  • 对底层传输方式不敏感。
  • 仅使用稳定的Rust。

魔法由essrpc属性宏完成,它可以应用于任何函数都满足以下条件的特性能

  • 返回一个实现Result的错误类型,该类型实现了From<RPCError>
  • 仅使用实现Serialize的参数和返回类型
  • 不是不安全的

参阅文档以获取示例和更多详细信息。

状态

alpha。预期一切正常,但实际应用案例很少。

可配置功能

  • async_client:启用异步客户端
  • bincode_transport:启用BincodeTransport
  • json_transport:启用JSONTransport
  • wasm_bindgen:启用wasm-bindgen兼容性。具体来说,JSON传输中的UUID生成使用wasm-bindgen兼容的随机数。

灵感和动机

ESSRPC受到tarpc和来自jsonrpcbuild_rpc_trait!宏的启发。这两个项目都更为成熟。过程宏的最近稳定化使得ESSRPC能够从更自然的特性能定义生成RPC客户端/服务器对。ESSRPC也对底层RPC传输的假设更少。

依赖项

~1.8–4.5MB
~86K SLoC