QUIC transport for IceRPC
$ dotnet add package IceRpc.Transports.QuicIceRpc.Transports.Quic allows you to use QUIC with IceRPC. It's a thin layer over
System.Net.Quic.
QUIC is a new UDP-based multiplexed transport used by HTTP/3 and several other application protocols.
Source code | Package | Example | API reference | Product documentation
// Create an IceRPC client connection with QUIC
using IceRpc;
using IceRpc.Transports.Quic;
using System.Net.Security;
await using var connection = new ClientConnection(
new Uri("icerpc://localhost"),
new SslClientAuthenticationOptions { ... },
multiplexedClientTransport: new QuicClientTransport());
// Create an IceRPC server with QUIC
using IceRpc;
using IceRpc.Transports.Quic;
using System.Net.Security;
IDispatcher dispatcher = ...;
await using var server = new Server(
dispatcher,
new SslServerAuthenticationOptions { ... },
multiplexedServerTransport: new QuicServerTransport());
server.Listen();
IceRpc.Transports.Quic has the same platform requirements as System.Net.Quic. Microsoft documents these requirements
as the HTTP/3 platform dependencies.