https://github.com/ljedrz/quickie
A simple, low-level, and customizable implementation of a QUIC P2P node.
https://github.com/ljedrz/quickie
Last synced: 24 days ago
JSON representation
A simple, low-level, and customizable implementation of a QUIC P2P node.
- Host: GitHub
- URL: https://github.com/ljedrz/quickie
- Owner: ljedrz
- License: cc0-1.0
- Created: 2022-07-19T08:17:01.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-08-27T20:25:48.000Z (9 months ago)
- Last Synced: 2025-05-06T21:07:16.397Z (24 days ago)
- Language: Rust
- Size: 99.6 KB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# quickie
[](https://crates.io/crates/quickie)
[](https://docs.rs/quickie)
[](https://github.com/ljedrz/quickie/tree/master/src)
[](https://deps.rs/repo/github/ljedrz/quickie)
[](https://gist.github.com/cheerfulstoic/d107229326a01ff0f333a1d3476e068d)
[](https://github.com/ljedrz/quickie/issues)**quickie** is a simple, low-level, and customizable implementation of a QUIC P2P node. Its design is inspired by [pea2pea](https://github.com/ljedrz/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](https://docs.rs/quickie/latest/quickie/struct.Node.html) and any extra state you'd like to carry
2. implement the [`Quickie`](https://docs.rs/quickie/latest/quickie/trait.Quickie.html) 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](https://semver.org/), and API breakage is to be expected before `1.0`