4 releases (2 breaking)

0.3.0 Aug 24, 2024
0.2.0 Jul 5, 2024
0.1.1 Mar 15, 2024
0.1.0 Dec 3, 2023

#10 in #bson


Used in gosling

BSD-3-Clause

64KB
1K SLoC

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.

Dependencies

~6.5MB
~127K SLoC