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 |