All Projects → g-andrade → quack

g-andrade / quack

Licence: MIT license
Erlang implementation of Google QUIC protocol

Programming Languages

erlang
1774 projects
Makefile
30231 projects
* QUIC version 35
* Client only (for now)

Progress:
* Most (perhaps all?) packet formats can be encoded/decoded (from/to records)
* Most (perhaps all?) frame types can be encoded/decoded (from/to records)
* Tag value maps can be encoded/decoded (from/to maps)
* Error codes can be encoded/decoded (from/to atoms)
* Connection-level out-of-order packet arrival is handled
* Stream-level out-of-order frame arrival is handled
* Received packets are acknowledged to the other end (current approach is very naive)
* Sent packets are kept in memory and purged/resent as requested by ther other end (current approach is very naive)
* Outbound packets are automatically padded as necessary to fill the target IPv4 MTU (1350 bytes)
* Initial connection can be established
* Crypto stream is opened, key diversification is handled, forward-secure parameters are negotiated (curve25519 / AES GCM)
* Basic HTTP-over-QUIC requests working partially
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].