## 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](./src/binding/wasm_bindgen.rs) * **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