mirror of
https://github.com/n0-computer/noq.git
synced 2026-09-25 12:57:07 +00:00
31d35944aacc8b52f436dca61b05de1a6c39db14
Packets that complete the handshake must be considered implicit acknowledgement of all outstanding handshake packets, otherwise retransmitted handshake packets that are not ultimately needed might never be acknowledged, leading to infinite retransmits until the congestion window shrinks to unusability.
quicr
quicr is an implementation of the QUIC network protocol undergoing
standardization by the IETF. It is currently suitable for experimental use. The
implementation is split up into the state macine crate quicr-core which performs no IO internally and can be tested
deterministically, and a high-level tokio-compatible API in quicr. See quicr/examples/ for usage.
Features
- Simultaneous client/server operation
- Ordered and unordered reads for improved performance
Status
- QUIC draft 11 with TLS 1.3 draft 28
- Cryptographic handshake
- Stream data w/ flow control and congestion control
- Connection close
- Stateless retry
- Migration
- 0-RTT data
- Session resumption
Building
Because TLS1.3 is a new standard, OpenSSL 1.1.1-pre6 (or later) is required for quicr to build. For compatibility with
most other QUIC implementations as of this writing, it should be patched with openssl-tls-28.patch in this repository.
Description
Languages
Rust
99.3%
Python
0.5%
Shell
0.2%