Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a22186b3a9574652

Jump to content

MsQuic

From Wikipedia, the free encyclopedia
MsQuic
DeveloperMicrosoft
ReleaseNovember 27, 2019; 6 years ago (2019-11-27)
Stable release
v2.5.4 / August 27, 2025; 11 months ago (2025-08-27)
Written inC, C++
Operating systemWindows 11 and later, Windows Server, Linux, Xbox Series X/S software
PlatformCross-platform
TypeSoftware library
LicenseMIT License
Repository

MsQuic is a free and open source implementation of the IETF QUIC protocol written in C[1] that is officially supported on the Microsoft Windows (including Server), Linux, and Xbox platforms. The project also provides libraries for macOS and Android, which are unsupported.[2] It is designed to be a cross-platform general purpose QUIC library optimized for client and server applications benefitting from maximal throughput and minimal latency. By the end of 2021 the codebase had over 200,000 lines of production code, with 50,000 lines of "core" code,[3] sharable across platforms. The source code is licensed under MIT License and available on GitHub.[4]

Among its features are, in part, support for asynchronous IO, receive-side scaling (RSS), UDP send and receive coalescing, and connection migrations that persist connections between client and server to overcome client IP or port changes,[5] such as when moving throughout mobile networks.[6]

Both the HTTP/3[7] and SMB stacks[8] of Microsoft Windows leverage MsQuic, with msquic.sys providing kernel-mode functionality. Being dependent upon Schannel for TLS 1.3, kernel mode therefore does not support 0-RTT.[9]

User-mode programs can implement MsQuic, with support 0-RTT, through msquic.dll, which can be built from source code or downloaded as a shared library through binary releases on the repository.[9]

MsQuic also provides the native implementation used by the .NET `System.Net.Quic` API. The library is distributed with .NET on Windows, while Linux users must install the `libmsquic` package separately.[10]

Its support for the Microsoft Game Development Kit makes MsQuic usable on both Xbox and Windows.

See also

[edit]

References

[edit]
  1. Cimpanu, Catalin. "Microsoft open-sources in-house library for handling QUIC connections". ZDNet.
  2. Jones, Luke (April 29, 2020). "Microsoft's In-House QUIC Connections Library is Now Open Source". WinBuzzer.
  3. Banks, Nick (December 7, 2021). "QUIC @ Microsoft". EPIQ 2021. Retrieved July 11, 2022.
  4. "microsoft/msquic". November 7, 2020 via GitHub.
  5. Lopes, Raul H. C.; Franqueira, Virginia N. L.; Rand, Duncan (2019). "Integration and Evaluation of QUIC and TCP-BBR in longhaul Science Data Transfers". EPJ Web of Conferences. 214: 08026. Bibcode:2019EPJWC.21408026L. doi:10.1051/epjconf/201921408026. S2CID 203699308.
  6. "MsQuic Library Features". September 2020 via GitHub.
  7. Sharwood, Simon. "QUIC, dig in: Microsoft open-sources MsQuic, its implementation of Google-spawned TCP-killer QUIC". www.theregister.com.
  8. "SMB over QUIC". Microsoft Docs. 18 May 2023.
  9. 1 2 msquic/Platforms.md, Microsoft, 2022-07-11, retrieved 2022-07-12
  10. "QUIC support in .NET". Microsoft Learn. Microsoft. 18 November 2024. Retrieved 27 July 2026.
[edit]