{"id":13619859,"url":"https://github.com/microsoft/msquic","last_synced_at":"2025-05-14T22:05:08.247Z","repository":{"id":37031959,"uuid":"217654199","full_name":"microsoft/msquic","owner":"microsoft","description":"Cross-platform, C implementation of the IETF QUIC protocol, exposed to C, C++, C# and Rust.","archived":false,"fork":false,"pushed_at":"2025-05-14T19:34:41.000Z","size":310809,"stargazers_count":4314,"open_issues_count":203,"forks_count":566,"subscribers_count":124,"default_branch":"main","last_synced_at":"2025-05-14T22:03:27.984Z","etag":null,"topics":["c","cpp","cross-platform","csharp","network-programming","protocol","quic","rust","secure"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-10-26T04:10:24.000Z","updated_at":"2025-05-13T21:05:07.000Z","dependencies_parsed_at":"2024-02-22T01:30:52.941Z","dependency_job_id":"cae1be78-5dfe-4f69-9e9c-410f4e9bd8db","html_url":"https://github.com/microsoft/msquic","commit_stats":{"total_commits":3102,"total_committers":99,"mean_commits":"31.333333333333332","dds":0.5764023210831721,"last_synced_commit":"62ecc1648de3bdd5757ed3112db0dd68f54d4f2e"},"previous_names":[],"tags_count":73,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fmsquic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fmsquic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fmsquic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fmsquic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/msquic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254235686,"owners_count":22036962,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","cpp","cross-platform","csharp","network-programming","protocol","quic","rust","secure"],"created_at":"2024-08-01T21:00:49.591Z","updated_at":"2025-05-14T22:05:08.154Z","avatar_url":"https://github.com/microsoft.png","language":"C","readme":"\u003ch1 align=\"center\"\u003e\u003cimg src=\"docs/images/readme_logo.png\" width=\"500\" alt=\"MsQuic logo\"/\u003e\u003c/h1\u003e\n\n[![Discord](https://img.shields.io/discord/827744285595271168?label=Discord\u0026logo=discord\u0026logoColor=white\u0026color=7289DA)](https://discord.gg/YGAtCwTSsc)\n[![Documentation](https://img.shields.io/static/v1?label=Documentation\u0026message=API\u0026color=yellow)](https://microsoft.github.io/msquic/msquicdocs/docs/API.html)\n[![Perf Dashboard](https://img.shields.io/static/v1?label=Performance\u0026message=Dashboard\u0026color=blue)](https://microsoft.github.io/netperf/dist/)\n[![codecov](https://codecov.io/github/microsoft/msquic/branch/main/graph/badge.svg?token=xAjIMDn7wy)](https://codecov.io/github/microsoft/msquic)\n[![crates.io](https://img.shields.io/crates/v/msquic)](https://crates.io/crates/msquic)\n[![nuget](https://img.shields.io/nuget/vpre/Microsoft.Native.Quic.MsQuic.Schannel?style=plastic)](https://www.nuget.org/profiles/msquic)\n[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4846/badge)](https://bestpractices.coreinfrastructure.org/projects/4846)\n\nMsQuic is a Microsoft implementation of the [IETF QUIC](https://datatracker.ietf.org/wg/quic/about/)\nprotocol. 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](https://docs.rs/msquic/latest/msquic/) and C#.\n\n\u003e [!TIP]\n\u003e You are using MsQuic? Let us know! Knowing our users lets us prioritize work and keep improving MsQuic in the best possible direction.\n\u003e Post in the [Discussion](https://github.com/microsoft/msquic/discussions/4963) to say hello and give us a wave on [Discord](https://discord.gg/YGAtCwTSsc)!\n\n## Protocol Features\n\n[![](https://img.shields.io/static/v1?label=RFC\u0026message=9000\u0026color=brightgreen)](https://tools.ietf.org/html/rfc9000)\n[![](https://img.shields.io/static/v1?label=RFC\u0026message=9001\u0026color=brightgreen)](https://tools.ietf.org/html/rfc9001)\n[![](https://img.shields.io/static/v1?label=RFC\u0026message=9002\u0026color=brightgreen)](https://tools.ietf.org/html/rfc9002)\n[![](https://img.shields.io/static/v1?label=RFC\u0026message=9221\u0026color=brightgreen)](https://tools.ietf.org/html/rfc9221)\n[![](https://img.shields.io/static/v1?label=RFC\u0026message=9287\u0026color=brightgreen)](https://tools.ietf.org/html/rfc9287)\n[![](https://img.shields.io/static/v1?label=RFC\u0026message=9368\u0026color=brightgreen)](https://tools.ietf.org/html/rfc9368)\n[![](https://img.shields.io/static/v1?label=RFC\u0026message=9369\u0026color=brightgreen)](https://tools.ietf.org/html/rfc9369)\n[![](https://img.shields.io/static/v1?label=Draft\u0026message=Load%20Balancers\u0026color=blue)](https://tools.ietf.org/html/draft-ietf-quic-load-balancers)\n[![](https://img.shields.io/static/v1?label=Draft\u0026message=ACK%20Frequency\u0026color=blue)](https://tools.ietf.org/html/draft-ietf-quic-ack-frequency)\n[![](https://img.shields.io/static/v1?label=Draft\u0026message=Disable%20Encryption\u0026color=blueviolet)](https://tools.ietf.org/html/draft-banks-quic-disable-encryption)\n[![](https://img.shields.io/static/v1?label=Draft\u0026message=Performance\u0026color=blueviolet)](https://tools.ietf.org/html/draft-banks-quic-performance)\n[![](https://img.shields.io/static/v1?label=Draft\u0026message=CIBIR\u0026color=blueviolet)](https://tools.ietf.org/html/draft-banks-quic-cibir)\n[![](https://img.shields.io/static/v1?label=Draft\u0026message=Timestamps\u0026color=blueviolet)](https://tools.ietf.org/html/draft-huitema-quic-ts)\n[![](https://img.shields.io/static/v1?label=Draft\u0026message=ReliableReset\u0026color=blueviolet)](https://datatracker.ietf.org/doc/draft-ietf-quic-reliable-stream-reset/)\n\nQUIC has many benefits when compared to existing \"TLS over TCP\" scenarios:\n\n  * All packets are encrypted and handshake is authenticated with TLS 1.3.\n  * Parallel streams of (reliable and unreliable) application data.\n  * Exchange application data in the first round trip (0-RTT).\n  * Improved congestion control and loss recovery.\n  * Survives a change in the clients IP address or port.\n  * Stateless load balancing.\n  * Easily extendable for new features and extensions.\n\n## Library Features\n\nMsQuic has several features that differentiates it from other QUIC implementations:\n\n  * Optimized for client and server.\n  * Optimized for maximal throughput and minimal latency.\n  * Asynchronous IO.\n  * Receive side scaling ([RSS](https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-receive-side-scaling)) support.\n  * UDP send and receive coalescing support.\n  * Kernel stack bypass via [XDP](https://github.com/microsoft/xdp-for-windows?tab=readme-ov-file#xdp-for-windows).\n\n# Documentation\n\n  * For platform support details, see the [Platforms docs](./docs/Platforms.md).\n  * For release details, see the [Release docs](./docs/Release.md).\n  * For performance data, see the [Performance dashboard](https://aka.ms/msquicperformance).\n  * For building the library, see the [Build docs](./docs/BUILD.md).\n  * For testing the library, see the [Testing docs](./docs/TEST.md).\n  * For using the API, see the [API docs](./docs/API.md) or the [Sample](./src/tools/sample/sample.c).\n  * For running a sample server and client app, see the [Quick Start Guide](./docs/Sample.md).\n  * For deploying QUIC, see the [Deployment docs](./docs/Deployment.md).\n  * For diagnosing issues, see the [Diagnostics docs](./docs/Diagnostics.md) and the [Trouble Shooting Guide](./docs/TSG.md).\n  * For other frequently asked questions, see the [FAQs](./docs/FAQ.md).\n\n# Contributing\n\nFor information on contributing, please see our [contribution guidelines](./.github/CONTRIBUTING.md). Feel free to take a look at our [Good First Issues](https://github.com/microsoft/msquic/labels/good%20first%20issue) list if you're looking for somewhere to start. If you'd just like to talk, come chat with us [on Discord](https://discord.gg/YGAtCwTSsc).\n","funding_links":[],"categories":["C","QUIC Weekly - 20210106期","网络信息服务","Quic \u0026\u0026 KCP \u0026\u0026 KTP \u0026\u0026 PCC \u0026\u0026 SRT 学习资料快速链接","Implementations"],"sub_categories":["网络协议"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fmsquic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fmsquic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fmsquic/lists"}