6 releases (breaking)

new 0.26.0 Jan 7, 2025
0.25.0 Dec 2, 2024
0.24.0 Oct 31, 2024
0.23.0 Sep 30, 2024
0.21.0 Aug 1, 2024

#2167 in Network programming

Download history 2/week @ 2024-09-11 8/week @ 2024-09-18 158/week @ 2024-09-25 49/week @ 2024-10-02 15/week @ 2024-10-09 6/week @ 2024-10-16 117/week @ 2024-10-30 13/week @ 2024-11-06 3/week @ 2024-11-13 14/week @ 2024-11-20 384/week @ 2024-11-27 137/week @ 2024-12-04 9/week @ 2024-12-11

186 downloads per month

MIT/Apache

390KB
6K SLoC

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:

  • clean out the X X X Xs
  • diziet's revisions on connimpl.
  • actual implementations for making connections.
  • More tests.
  • update this readme.
  • interface for connecting to arti
  • Initial C FFI wrappers.
  • C FFI wrappers for everything reasonable
  • enable the usual warnings.
  • Finish this readme.

Dependencies

~4–16MB
~209K SLoC