MsQuic - Cross-platform, C implementation of the IETF QUIC protocol, exposed to C, C++, C# and Rust
MsQuic is a Microsoft implementation of the IETF QUIC protocol. QUIC, a UDP-based, stream-multiplexing, encrypted transport protocol. It is cross-platform, written in C and designed to be a general purpose QUIC library. MsQuic also has C++ API wrapper classes and exposes interop layers for both Rust and C#.
QUIC has many benefits when compared to existing "TLS over TCP" scenarios:
QUIC has many benefits when compared to existing "TLS over TCP" scenarios:
- All packets are encrypted and handshake is authenticated with TLS 1.3.
- Parallel streams of (reliable and unreliable) application data.
- Exchange application data in the first round trip (0-RTT).
- Improved congestion control and loss recovery.
- Survives a change in the clients IP address or port.
- Stateless load balancing.
- Easily extendable for new features and extensions.
https://github.com/microsoft/msquic
License:
Tech:
Tags: