GithubHelp home page GithubHelp logo

jqk6 / msquic Goto Github PK

View Code? Open in Web Editor NEW

This project forked from microsoft/msquic

0.0 1.0 0.0 12.97 MB

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

License: MIT License

C 60.38% C++ 24.24% Roff 2.87% CMake 1.42% PowerShell 4.04% Dockerfile 0.03% Shell 0.10% C# 6.86% Batchfile 0.05%

msquic's Introduction

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.

Important The QUIC protocol is currently in IETF last call (not RFC quite yet). MsQuic implements the latest published drafts.

IETF Drafts: Transport, TLS, Recovery, Datagram, Load Balancing

Build Status Test Status Code Coverage CodeQL Language grade: C/C++

Protocol Features

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.

msquic's People

Contributors

nibanks avatar thadhouse avatar anrossi avatar larseggert avatar maolson-msft avatar maximus- avatar microsoftopensource avatar chgray avatar jkotalik avatar kamronbatman avatar ssinghaldev avatar microsoft-github-operations[bot] avatar tomxmm0 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.