Crates.io | arti-rpc-client-core |
lib.rs | arti-rpc-client-core |
version | 0.25.0 |
source | src |
created_at | 2024-08-01 17:41:04.318899 |
updated_at | 2024-12-02 18:17:31.963922 |
description | Client library for Arti RPC |
homepage | https://gitlab.torproject.org/tpo/core/arti/-/wikis/home |
repository | https://gitlab.torproject.org/tpo/core/arti.git/ |
max_upload_size | |
id | 1322304 |
size | 214,190 |
Notes so far:
On top of io::{BufRead,Write}, we build llconn::{Reader,Writer}. Reader is a tiny wrapper; Writer validates the syntax of outgoing messages.
On top of them, we build conn::RpcConn. This is the one I expect most users would want; it matches requests to responses and assigns IDs as needed.
I'm not using tokio or async at all. I'm trying to keep dependencies to a minimum.
I am not following our usual practice with Display on errors; instead, I am including inner errors in the Display implementation of the outer errors. The rationale here is that we probably just want to return a single string for FFI purposes.
Coming next: