Skip to content
/ quickie Public

A simple, low-level, and customizable implementation of a QUIC P2P node.

License

Notifications You must be signed in to change notification settings

ljedrz/quickie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

A simple, low-level, and customizable implementation of a QUIC P2P node.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages