Arpy: RPC for Rust
Define your RPC signatures, and use them with various client/server implementations.
Project Status
Arpy is in it's infancy, and not well tested yet.
Transport Implementations
Reqwest and Reqwasm clients are available, along with Axum and Actix servers.
Usage
Define your RPC signatures, implement them on the server, and call them on the client. These can be in separate crates, or all in one depending on your workflow.
Defining RPC Signatures
;
;
Implementing a Server
Example using Axum:
async let app = new
.http_rpc_route
.http_rpc_route;
bind
.serve
.await
.unwrap;
async
Calling Remote Procedures
Example using Reqwasm:
let connection = new;
let result = Add.call.await?;
assert_eq!;
Other Features
- Websockets support, including:
- multiple in flight RPC calls
- parameterized subscriptions
- Server sent events