Skip to content

Commit

Permalink
updated README
Browse files Browse the repository at this point in the history
  • Loading branch information
ilumary committed Aug 23, 2024
1 parent b53678e commit f4b9743
Showing 1 changed file with 16 additions and 6 deletions.
22 changes: 16 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,25 @@
## Bachelor Thesis (Completed)
This repository contains my bachelor thesis from Heinrich-Heine Universität Düsseldorf, Germany. It has the title <b>"Development Of A Minimal QUIC Implementation In Rust: An Introduction To Next Generation Networking"</b>, is written in english, and covers the design and connection mechanics of QUIC as well as details of my implementation as of the submit date. The rendered pdf can be found in the `document` subdirectory. It may also be helpful to those who simply want to get started with QUIC without using the RFCs directly.

## Key Features (In Development)
## Key Features

The QUIC library is still in a very early development stage and a majority of the features required for any kind of meaningful use are not yet implemented. As I lack the resources of the likes of Amazon, Cloudflare and co, development may only progress slowly. Currently in Development are:
The QUIC library is still in a very early development stage and a majority of the features required for any kind of meaningful use are not yet implemented. As I lack the resources of the likes of Amazon, Cloudflare and co, development may only progress slowly. Currently availible are:

* QUIC 1-RTT Handshake
* Full TLS 1.3 Integration using <a href="https://github.com/rustls/rustls">rustls</a>
* Server and Client API for easy integration with HTTP/3 or other Application Protocols
* QUIC 1-RTT Handshake
* Full TLS 1.3 Integration using <a href="https://github.com/rustls/rustls">rustls</a>
* Server API for easy integration with HTTP/3 or other Application Protocols

The current implementation works with <a href="https://github.com/quinn-rs/quinn">quinn's</a> example client implementation as described in the `Run` section. The handshake is completed successfully and the client-initiated bidirectional stream is successfully proccessed on my side.

Though it may seem to work fine for now, the async library design is still only in its infant stage. Currently in development are:

* Async wrapper for quic library
* QUIC stream implementation (with async wrapper)
* Congestion and flow control

The Server API design (Client API coming sometime in the future) is heavily inspired by <a href="https://github.com/aws/s2n-quic">Amazons QUIC API design</a>. As of now it is still in development and neither fully functional nor feature complete.
The Server API design (Client API coming sometime in the future) is heavily inspired by <a href="https://github.com/aws/s2n-quic">Amazons QUIC API design</a>. As of now it is still in development and neither fully functional nor feature complete.

I am also only learning the deep ends of Rust through this project so dont expect top-notch Rust code.

## Contributing

Expand Down

0 comments on commit f4b9743

Please sign in to comment.