quickie

Crates.ioquickie
lib.rsquickie
version0.7.0
sourcesrc
created_at2022-07-19 17:17:42.252808
updated_at2024-05-24 09:28:53.496531
descriptionA simple, low-level, and customizable implementation of a QUIC P2P node.
homepage
repositoryhttps://github.com/ljedrz/quickie
max_upload_size
id628443
size157,327
(ljedrz)

documentation

https://docs.rs/quickie

README

quickie

crates.io docs.rs LOC dependencies actively developed issues

quickie is a simple, low-level, and customizable implementation of a QUIC P2P node. Its design is inspired by pea2pea.

goals

  • small, simple, non-framework codebase
  • ease of use: few objects and traits, no "turboeels" or generics/references that would force all parent objects to adapt
  • correctness: builds with stable Rust, there is no unsafe code
  • low-level oriented: while the underlying quinn crate does the QUIC heavy-lifting, the user should have access to most of its functionalities

how to use it

  1. define a clonable struct containing a Node and any extra state you'd like to carry
  2. implement the Quickie trait for it
  3. create that struct (or as many of them as you like)

That's it!

examples

  • simple interop with libp2p-quic

status

  • the core functionalities seem to work, but there can still be bugs
  • not all the quinn features are exposed yet
  • some tests are already in place
  • the crate follows semver, and API breakage is to be expected before 1.0
Commit count: 71

cargo fmt