ezrpc

Crates.ioezrpc
lib.rsezrpc
version0.1.1
sourcesrc
created_at2023-06-18 11:07:57.750371
updated_at2023-09-11 16:49:46.521072
descriptionErgonomic, flexible and Zero-cost RPC framework
homepagehttps://crates.io/crates/ezrpc
repositoryhttps://github.com/metaworm/ezrpc
max_upload_size
id893438
size71,803
metaworm (metaworm)

documentation

https://docs.rs/ezrpc

README

Features

  • Ergonomic: the arguments type of RPC method can be any type which impls serde::Deserialize, and the returned type can be any type which impls serde::Serialize
  • Zero-copy: the arguments type and returned type of RPC method can be reference type such as &[u8], &str, equivalent to reference to the data in packet buffer, without any copy
  • Asynchronous support
  • WebAssembly support:provides built-in bindings to WebSocket via wasm-bindgen, you can use this crate in WASM,and exposed interfaces to JavaScript to use it in browser, check out the binding
  • Flexible: multiple communication method support, and you can impl the [Adapter] trait to custom the communication method
    1. Network: Based WebSocket,it can be used to communicate with Web(via WASM),and can also be used for communication between two processes on the network
    2. IPC(Inter-Process Communication): Based named pipe on Windows, while based domain socket on Linux
    3. Inner-Process Communication:Based tokio's channel,can be used for communication between different threads in the same process
Commit count: 2

cargo fmt