#real-time #aimed #networking #stream #connection #ordered #handshake

harlequinn

A real-time networking library primarily aimed at games

2 releases

0.1.1 Dec 7, 2019
0.1.0 Dec 5, 2019

#11 in #aimed

Apache-2.0 OR MIT

31KB
611 lines

Harlequinn

Harlequinn is a real-time networking library primarily aimed at games. It is based on the Quinn implementation of the QUIC protocol.

Harlequinn wraps around Quinn to provide an API that can be easily used from a synchronous game loop. It also implements some additional nice-to-have features out of the box.

Features

A lot of features provided by Harlequinn are implemented as part of the QUIC implementation by Quinn. For convenience notable features implemented by Quinn are listed here as well.

  • Connection management
  • Connection verification/rejection
  • Unreliable messages (QUIC datagrams)
  • Reliable ordered and unordered messages (QUIC streams)
  • Fragmentation (only for reliable messages)
  • Protocol verification handshake
  • Slowloris/DoS mitigation
  • TLS encryption

To-Do:

  • TOFU certificate confirmation
  • Improved connection close reason API
  • Multiple separate reliable ordered streams

License

Licensed under either of

at your option.

Dependencies

~20MB
~441K SLoC