Crates.io | honk-rpc |
lib.rs | honk-rpc |
version | 0.3.0 |
source | src |
created_at | 2023-12-03 22:05:03.965618 |
updated_at | 2024-08-24 21:47:46.714689 |
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.