microsoft / msquic

Cross-platform, C implementation of the IETF QUIC protocol, exposed to C, C++, C# and Rust.
MIT License
3.92k stars 525 forks source link
c cpp cross-platform csharp network-programming protocol quic rust secure

MsQuic logo

Documentation Perf Dashboard Build Status Test Status Stress Status codecov CodeQL CII Best Practices Discord crates.io nuget

MsQuic is a Microsoft implementation of the IETF QUIC 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#.

Protocol Features

QUIC has many benefits when compared to existing "TLS over TCP" scenarios:

Library Features

MsQuic has several features that differentiates it from other QUIC implementations:

Documentation

Contributing

For information on contributing, please see our contribution guidelines. Feel free to take a look at our Good First Issues list if you're looking for somewhere to start. If you'd just like to talk, come chat with us on Discord.