MsQuic.Net VS lsquic

Compare MsQuic.Net vs lsquic and see what are their differences.

MsQuic.Net

.NET wrapper around MsQuic using TLS (by StirlingLabs)

lsquic

LiteSpeed QUIC and HTTP/3 Library (by litespeedtech)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
MsQuic.Net lsquic
1 5
24 1,453
- -
4.9 7.2
6 months ago about 2 months ago
C# C
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

MsQuic.Net

Posts with mentions or reviews of MsQuic.Net. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-07-15.

lsquic

Posts with mentions or reviews of lsquic. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-02.
  • Avoiding HTTP/3 (for a while) as a pragmatic default
    4 projects | news.ycombinator.com | 2 Apr 2023
    I referred to sockets as an API design, not to express an opinion on whether you should place your protocol implementations inside or outside the kernel. (Although that’s undeniably an interesting question that by all rights should have been settled by now, but isn’t.)

    Even then, I didn’t mean you should reproduce the Berkeley socket API verbatim (ZeroMQ-style); multiple streams per connection does not sound like a particularly good fit to it (although apparently people have managed to fit SCTP into it[1]?). I only meant that with the current mainstream libraries[2,3,4], establishing a QUIC connection and transmitting bytestreams or datagrams over it seems quite a bit more involved than performing the equivalent TCP actions using sockets.

    [1] https://datatracker.ietf.org/doc/html/rfc6458

    [2] https://quiche.googlesource.com/quiche

    [3] https://github.com/microsoft/msquic

    [4] https://github.com/litespeedtech/lsquic

  • The Illustrated QUIC Connection
    3 projects | /r/netsec | 22 Apr 2022
  • LiteSpeed QUIC (LSQUIC) is an open-source implementation of QUIC and HTTP/3
    3 projects | news.ycombinator.com | 15 Feb 2021
    > the word "thread" does not appear anywhere.

    because it doesn't use threads? The library is intended to be used inside an eventloop. I think the same also applies for other typical transport libraries - e.g. HTTP/2 or TLS ones.

    > Not sure why one would choose this over QUICHE.

    I think there are certainly reasons. lsquic seems a lot more optimized than quiche and most other libraries out there. It makes use of some pretty clever datastructures (e.g. https://github.com/litespeedtech/lsquic/blob/master/src/libl...), and likely has a drastically lower rate of heap allocations than other implementations. Some of those things - like the use of intrusive linked lists - are unfortunately not that easy to apply in Rust.

    I wouldn't be suprised if lsquic outperforms various other implementations - and if that's important to users it might be a reason to choose it (but as always: measure for your use-case).

    I personally also think Rust is the way to go for system level code. But I wouldn't dismiss a project for not using Rust. And this one at least has a fair set of unit-tests, so it looks to me a lot more sane than a lot of other C based projects.

    1 project | news.ycombinator.com | 1 Feb 2021

What are some alternatives?

When comparing MsQuic.Net and lsquic you can also consider the following projects:

msquic - Cross-platform, C implementation of the IETF QUIC protocol, exposed to C, C++, C# and Rust.

ssldump - ssldump - (de-facto repository gathering patches around the cyberspace)

starlink-coverage - Calculating some statistics about Starlink satellites

mvfst - An implementation of the QUIC transport protocol.

netty-incubator-codec-quic

ENet-CSharp - Reliable UDP networking library

yojimbo - A network library for client/server games written in C++

KCP - :zap: KCP - A Fast and Reliable ARQ Protocol

quic - In-kernel QUIC implementation with Userspace handshake

NanoSDK - NanoSDK - MQTT 5.0-compliant SDK with QUIC support in NNG flavor

nginx-quic - [DISCONTINUED: As of May 20, 2023, the upstream has stopped receiving updates as the quic branch has been merged into the mainline.] An UNOFFICIAL read-only mirror of https://hg.nginx.org/nginx-quic (quic and default branches) which updated daily.