honk-rpc

Crates.iohonk-rpc
lib.rshonk-rpc
version0.3.0
sourcesrc
created_at2023-12-03 22:05:03.965618
updated_at2024-08-24 21:47:46.714689
descriptionA library implementing an asynchrynous, bi-directional, dynamic, and BSON-based remote procedure call system
homepage
repositoryhttps://github.com/blueprint-freespeech/gosling
max_upload_size
id1057100
size78,339
morgan (morganava)

documentation

README

Honk-RPC

Implementation of the Honk-RPC remote procedure call protocol.

Overview

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.

⚠ Unstable ⚠

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.

Commit count: 684

cargo fmt