All Projects → microsoft → Msquic

microsoft / Msquic

Licence: mit
Cross-platform, C implementation of the IETF QUIC protocol.

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
C#
18002 projects
powershell
5483 projects
CMake
9771 projects
Roff
2310 projects

Projects that are alternatives of or similar to Msquic

Quiche
🥧 Savoury implementation of the QUIC transport protocol and HTTP/3
Stars: ✭ 5,481 (+119.15%)
Mutual labels:  protocol, quic, network-programming
Ngtcp2
ngtcp2 project is an effort to implement IETF QUIC protocol
Stars: ✭ 589 (-76.45%)
Mutual labels:  protocol, quic
Quic Go
A QUIC implementation in pure go
Stars: ✭ 6,085 (+143.3%)
Mutual labels:  protocol, quic
Tus Resumable Upload Protocol
Open Protocol for Resumable File Uploads
Stars: ✭ 1,070 (-57.22%)
Mutual labels:  protocol, cross-platform
xquic
XQUIC Library released by Alibaba is a cross-platform implementation of QUIC and HTTP/3 protocol.
Stars: ✭ 943 (-62.3%)
Mutual labels:  protocol, quic
Kissme
Kissme: Kotlin Secure Storage Multiplatform
Stars: ✭ 351 (-85.97%)
Mutual labels:  cross-platform, secure
Lsquic
LiteSpeed QUIC and HTTP/3 Library
Stars: ✭ 727 (-70.93%)
Mutual labels:  protocol, quic
Quic.net
A .NET C# Implementation of QUIC protocol - Google's experimental transport layer.
Stars: ✭ 173 (-93.08%)
Mutual labels:  protocol, quic
Base Drafts
Internet-Drafts that make up the base QUIC specification
Stars: ✭ 1,270 (-49.22%)
Mutual labels:  protocol, quic
Kcp
⚡ KCP - A Fast and Reliable ARQ Protocol
Stars: ✭ 10,473 (+318.75%)
Mutual labels:  protocol, quic
Randomkit
Random data generation in Swift
Stars: ✭ 1,458 (-41.7%)
Mutual labels:  protocol, cross-platform
encrypted-smiley-secure-protocol
Node.JS library Encrypted Smiley ® Secure Protocol (eSSP, SSP)
Stars: ✭ 22 (-99.12%)
Mutual labels:  protocol, secure
Socket-Programming-With-C
✉️ Learn Network Protocol and Network Programming
Stars: ✭ 147 (-94.12%)
Mutual labels:  protocol, network-programming
Siris
DEPRECATED: The community driven fork of Iris. The fastest web framework for Golang!
Stars: ✭ 146 (-94.16%)
Mutual labels:  quic, cross-platform
go.pkt
📨 Go libraries for capturing, injecting, filtering, encoding and decoding network packets
Stars: ✭ 119 (-95.24%)
Mutual labels:  protocol, network-programming
Sharppcap
Official repository - Fully managed, cross platform (Windows, Mac, Linux) .NET library for capturing packets
Stars: ✭ 665 (-73.41%)
Mutual labels:  network-programming, cross-platform
Pquic
The PQUIC implementation, a framework that enables QUIC clients and servers to dynamically exchange protocol plugins that extend the protocol on a per-connection basis
Stars: ✭ 63 (-97.48%)
Mutual labels:  protocol, quic
Quinn
Async-friendly QUIC implementation in Rust
Stars: ✭ 1,859 (-25.67%)
Mutual labels:  protocol, quic
Algernon
🎩 Small self-contained pure-Go web server with Lua, Markdown, HTTP/2, QUIC, Redis and PostgreSQL support
Stars: ✭ 1,880 (-24.83%)
Mutual labels:  quic, cross-platform
Xresloader
跨平台Excel导表工具(Excel=>protobuf/msgpack/lua/javascript/json/xml)
Stars: ✭ 161 (-93.56%)
Mutual labels:  cross-platform

MsQuic

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.

Perf Dashboard Test Status Code Coverage CodeQL Language grade: C/C++ CII Best Practices Discord crates.io nuget

Protocol Features

RFC: 9000, 9001, 9002 Draft: Datagram, Version Negotiation, Load Balancing, ACK Frequency, Perf Testing

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.

Library Features

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

  • Optimized for client and server.
  • Optimized for maximal throughput and minimal latency.
  • Asynchronous IO.
  • Receive side scaling (RSS) support.
  • UDP send and receive coalescing support.

Documentation

Contributing

For information on contributing, please see our contribution guidlines. 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].