Table of Contents

QUIC

The QUIC surface VpnHood uses - clients, connections and streams - independent of any QUIC implementation. Each platform's implementation is a package of its own.

When to use it

  • You need QUIC on Windows, Linux, Android and iOS from one code path.
  • You want to change the QUIC implementation without touching the code that uses it.

Which package to take

  • Windows and Linux: Quic.MsQuic, on System.Net.Quic.
  • Android: Quic.Android, over MsQuic.
  • iOS: Quic.Ios, on Apple's Network.framework, iOS 15 and later.
  • Code that only uses QUIC: Quic.Abstractions.

Its packages

Package What it does
VpnHood.Net.Quic.Abstractions A minimal QUIC transport abstraction: the QUIC surface VpnHood uses, independent of any QUIC implementation, with MsQuic, Android and iOS ones in their own packages. Guide · API
VpnHood.Net.Quic.Android Android implementation of the VpnHood QUIC abstractions (IQuicClient/IQuicConnection/Stream) over MsQuic. Guide · API
VpnHood.Net.Quic.Ios iOS (Apple Network.framework, iOS 15+) implementation of the VpnHood QUIC abstractions. Guide · API
VpnHood.Net.Quic.MsQuic MsQuic (System.Net.Quic) implementation of the VpnHood QUIC abstractions. Guide · API