quickie
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
- define a clonable struct containing a Node and any extra state you'd like to carry
- implement the
Quickie
trait for it - 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