-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[API Proposal]: Quic connection keep alive #70090
Comments
Tagging subscribers to this area: @dotnet/ncl Issue DetailsBackground and motivationAn application protocol such as HTTP/3 needs to enable the transport keep alive to defer the Quic idle timeout (https://quicwg.org/base-drafts/draft-ietf-quic-http.html#name-idle-connections). It should also be able to do so only if there's pending requests or server pushes. From looking at the msquic implementation, the keep alive interval can be updated on an active Quic connection. So this could be set through a new Such a feature will also probably needed to implement keep alive in API Proposalnamespace System.Net.Quic;
public sealed class QuicConnection : IDisposable
{
// <summary>The keep alive interval to specify how often to send PING frames.</summary>
public TimeSpan KeepAliveInterval { get; set; }
} API Usage// Enable keep alive
connection.KeepAliveInterval = TimeSpan.FromSeconds(15);
// Disable keep alive
connection.KeepAliveInterval = TimeSpan.MaxValue; Alternative DesignsNo response RisksNo response
|
Triage: We can add it later into |
Background and motivation
An application protocol such as HTTP/3 needs to enable the transport keep alive to defer the Quic idle timeout (https://quicwg.org/base-drafts/draft-ietf-quic-http.html#name-idle-connections). It should also be able to do so only if there's pending requests or server pushes.
From looking at the msquic implementation, the keep alive interval can be updated on an active Quic connection. So this could be set through a new
QuicConnection
property.Such a feature will also probably needed to implement keep alive in
System.Net.Http.SocketsHttpHandler.Http3Connection
.API Proposal
API Usage
Alternative Designs
No response
Risks
No response
The text was updated successfully, but these errors were encountered: