Class QuicClientTransportOptions
- Namespace
- IceRpc.Transports.Quic
- Assembly
- IceRpc.Transports.Quic.dll
The options class for configuring QuicClientTransport.
public sealed record QuicClientTransportOptions : QuicTransportOptions, IEquatable<QuicTransportOptions>, IEquatable<QuicClientTransportOptions>
- Inheritance
-
QuicClientTransportOptions
- Implements
- Inherited Members
Properties
KeepAliveInterval
Gets or sets the interval at which the client sends QUIC PING frames to the server to keep the connection alive.
public TimeSpan KeepAliveInterval { get; set; }
Property Value
- TimeSpan
The keep-alive interval. Defaults to 15 seconds. Zero means: use the default value provided by the underlying implementation. InfiniteTimeSpan means: never send PING frames.
Remarks
Unlike the idle timeout, the keep-alive interval is not negotiated during connection establishment. We recommend setting this interval at half the negotiated idle timeout value to keep a healthy connection alive forever - really until it's closed due to inactivity at the RPC level via the InactivityTimeout. This option is a stop-gap: ideally the .NET QUIC implementation would provide a way to automatically send PING frames to keep the connection alive based on the negotiated idle timeout. See https://github.com/microsoft/msquic/issues/3880.
LocalNetworkAddress
Gets or sets the address and port represented by a .NET IPEndPoint to use for a client QUIC connection. If specified the client QUIC connection will bind to this address and port before connection establishment.
public IPEndPoint? LocalNetworkAddress { get; set; }
Property Value
- IPEndPoint
The address and port to bind to. Defaults to null.