5 releases (breaking)

new 0.25.0 Dec 2, 2024
0.24.0 Oct 31, 2024
0.23.0 Sep 30, 2024
0.22.0 Sep 3, 2024
0.21.0 Aug 1, 2024

#2193 in Network programming

Download history 131/week @ 2024-09-01 6/week @ 2024-09-08 5/week @ 2024-09-15 24/week @ 2024-09-22 179/week @ 2024-09-29 18/week @ 2024-10-06 11/week @ 2024-10-13 1/week @ 2024-10-20 102/week @ 2024-10-27 27/week @ 2024-11-03 1/week @ 2024-11-10 10/week @ 2024-11-17 280/week @ 2024-11-24 137/week @ 2024-12-01

428 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