MsQuic is a cross-platform C implementation of the IETF QUIC protocol that exposes language bindings for C++, C#, and Rust.
QUIC addresses limitations of traditional TLS-over-TCP by encrypting all packets, enabling parallel streams of reliable and unreliable data, allowing application data exchange in the first round trip, improving congestion control and loss recovery, surviving client IP or port changes, and supporting stateless load balancing. MsQuic implements this protocol as a general-purpose library optimized for both client and server use cases, with particular emphasis on maximal throughput and minimal latency through asynchronous IO, receive-side scaling support, UDP send and receive coalescing, and kernel stack bypass via XDP.
Developers should choose MsQuic if they need a production-grade QUIC implementation with strong performance characteristics across multiple platforms. The library suits projects requiring high-throughput network communication, low-latency connections, or scenarios where clients may change network connectivity. The project provides comprehensive documentation covering platform support, building, testing, API usage, deployment, and diagnostics, along with sample applications for quick evaluation.
The project maintains active engagement with users through discussion forums and Discord channels. Development includes attention to performance measurement through a dedicated dashboard. The codebase receives contributions guided by documented contribution guidelines and maintains a curated list of issues suitable for new contributors.