Skip to content
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

[QUIC] Split out MsQuic configuration from connection #42642

Closed
scalablecory opened this issue Sep 23, 2020 · 6 comments
Closed

[QUIC] Split out MsQuic configuration from connection #42642

scalablecory opened this issue Sep 23, 2020 · 6 comments
Labels
area-System.Net.Quic enhancement Product code improvement that does NOT require public API changes/additions tenet-performance Performance related issue
Projects
Milestone

Comments

@scalablecory
Copy link
Contributor

scalablecory commented Sep 23, 2020

An MsQuic configuration allocates a number of resources that are able to be shared between multiple connections.

Currently, we are sharing a configuration on server connections, but are allocating a new one per client-initiated connection. We should consider breaking this out into its own API so that e.g. the SocketsHttpHandler connection pools can have a single configuration.

@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added area-System.Net untriaged New issue has not been triaged by the area owner labels Sep 23, 2020
@ghost
Copy link

ghost commented Sep 23, 2020

Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.

@scalablecory scalablecory added this to the 6.0.0 milestone Sep 23, 2020
@scalablecory scalablecory added this to To Do (Low Priority) in HTTP/3 via automation Sep 23, 2020
@scalablecory scalablecory removed the untriaged New issue has not been triaged by the area owner label Sep 23, 2020
@geoffkizer
Copy link
Contributor

What settings/resources are associated with an msquic session?

@scalablecory
Copy link
Contributor Author

According to docs:

Primarily, this consists of the ALPN string used for the connection handshakes and TLS state used for session resumption.

@nibanks anything else interesting to consider? Why would we ever want to have separate sessions (beyond different ALPN strings)?

@nibanks
Copy link

nibanks commented Sep 23, 2020

The MsQuic "session" object is completely going away. I'd just close this issue. See this PR for more details: microsoft/msquic#777

@scalablecory scalablecory changed the title [QUIC] Split out MsQuic session from connection [QUIC] Split out MsQuic configuration from connection Dec 15, 2020
@scalablecory
Copy link
Contributor Author

This would look something like:

QuicClientConnectionOptions options = ...;
EndPoint endPoint = ...;

using QuicClientConfiguration clientConfig = await QuicConfiguration.CreateAsync(options, cancellationToken);
using QuicConnection connection = await QuicConnection.ConnectAsync(clientConfig, endPoint, cancellationToken);

@karelz karelz added the tenet-performance Performance related issue label Jun 22, 2021
@karelz karelz modified the milestones: 6.0.0, Future Jun 22, 2021
@ManickaP ManickaP moved this from To Do (Low Priority) to Future in HTTP/3 Jul 15, 2021
@karelz karelz modified the milestones: Future, 7.0.0 Oct 26, 2021
@karelz karelz moved this from Future to To Do (Low Priority) in HTTP/3 Oct 26, 2021
@karelz karelz added the enhancement Product code improvement that does NOT require public API changes/additions label Oct 26, 2021
@karelz karelz moved this from To Do (Low Priority) to Future in HTTP/3 Jun 14, 2022
@karelz karelz modified the milestones: 7.0.0, Future Jun 14, 2022
@rzikm
Copy link
Member

rzikm commented Oct 4, 2023

Since lot of the things have changed since the issue was originally created the issue does not make sense in the current state.

@rzikm rzikm closed this as completed Oct 4, 2023
@karelz karelz modified the milestones: Future, 9.0.0 Oct 11, 2023
@dotnet dotnet locked as resolved and limited conversation to collaborators Nov 10, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Net.Quic enhancement Product code improvement that does NOT require public API changes/additions tenet-performance Performance related issue
Projects
No open projects
HTTP/3
  
Future
Development

No branches or pull requests

6 participants