minq
minq copied to clipboard
A simple Go implementation of QUIC
I don't have a solid set of recommendations here, but after writing some tests, I think that the packet number recovery is broken. See [this gist](https://gist.github.com/martinthomson/54ff482060e758090e74a91c2e6e8e24) for some tests. I...
ekr reports his -11 minq client rejects the 257 value mozquic sends for the max_stream_id_bidi transport parameter.. that would have been an illegal value in -10, but in -11 the...
## P1 - Will break if not fixed - [x] BLOCKED frame includes reason for blocking - [x] Remove payload from PING - [x] Parse PATH_CHALLENGE/PATH_RESPONSE - [x] ACK frame...
Public/Stateless Reset (generate where appropriate; validate & process correctly)
@ekr, you have to enable builds though.
I think that the packet header is *almost* normal enough now that the syntax module could work. There are some tricks we'd need to work through (packet number encryption, for...
Adding RTT estimation to the congestion controller. I added both QUIC and TCP-style estimates. The TCP style estimates do not consider the `ACK Delay` field. They might be useful later...
Currently, the minq server / client will exit when they encounter a non-fatal error (e.g duplicate packet). They shouldn't.
For example, you should be able to do: "shut down client when all data has been transmitted and acked"