/quincy

QUIC implementation in Java/Netty

Primary LanguageJava

Quincy

Quincy is an implementation of QUIC in Java, based on the Netty framework. Focusing on having fun and learning. Development is still very much in an early stage, exploring what an implementation could look like. That is, for now, priorities are Complete > Correct > Performant.

We're more than happy to accept contributions, feel free to take a stab at anything missing, incomplete or wrong.

  • TLS (custom implementation)
    • Messages/extensions
    • Handshake
    • Certification validation
    • Key phase
    • ALPN
  • Protocol/packets/frames
  • Connections
  • Packet coalescing
  • PMTU
  • Version negotiation
  • Streams
  • Reliability
    • Acking
    • Resends
  • Flow control
    • Max data
    • Max streams
  • Congestion control
  • Address validation
    • Retry
    • Path validation
  • Connection migration
  • Connection termination
    • Idle timeout
    • Immediate close
    • Stateless reset
  • HTTP binding
  • Integration tests (quic-go, quicly)