| Crates.io | honk-rpc |
| lib.rs | honk-rpc |
| version | 0.3.0 |
| created_at | 2023-12-03 22:05:03.965618+00 |
| updated_at | 2024-08-24 21:47:46.714689+00 |
| description | A library implementing an asynchrynous, bi-directional, dynamic, and BSON-based remote procedure call system |
| homepage | |
| repository | https://github.com/blueprint-freespeech/gosling |
| max_upload_size | |
| id | 1057100 |
| size | 78,339 |
Implementation of the Honk-RPC remote procedure call protocol.
The honk-rpc crate is a bare-bones implementation of the Honk-RPC protocol. This protocol is heavily inspired by JSON-RPC, but uses BSON as the underlying message format to enable more efficient transmission of large binary payloads.
Functionality is defined and implemented in namespace-scoped ApiSet objects. A Honk-RPC client/server pair and all the associated communications and request handling is encapsulated in a Session object.
For now, communications are presumed to take place over a Rust object implementing both std::io::Read and std::io::Write. In practice, this is presumed to be a std::io::TcpStream.
The honk-rpc crate's API and the Honk-RPC protocol specification are considered unstable. The honk-rpc crate will likely be changed in the future to operate purely on bson objects and lave the specifics of the transport layer up to consumers of the crate.