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: Detecting whether QUIC is supported #52145

Closed
JamesNK opened this issue Apr 30, 2021 · 3 comments
Closed

QUIC: Detecting whether QUIC is supported #52145

JamesNK opened this issue Apr 30, 2021 · 3 comments
Labels
api-suggestion Early API idea and discussion, it is NOT ready for implementation area-System.Net.Quic
Milestone

Comments

@JamesNK
Copy link
Member

JamesNK commented Apr 30, 2021

QUIC on Windows (and perhaps other operating systems) will have OS and other dependency requirements.

It would be useful if there is an API to check whether it is supported. For example:

if (QuicConnection.IsSupported)
{
    // Do QUIC things with System.Net.Quic
}
else
{
    // Fallback to doing TCP things with Socket
}

It would return false in Blazor WebAssembly. It would return false in Windows if the OS doesn't have schannel support. Etc.

@JamesNK JamesNK added api-suggestion Early API idea and discussion, it is NOT ready for implementation area-System.Net.Quic labels Apr 30, 2021
@ghost
Copy link

ghost commented Apr 30, 2021

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

Issue Details

QUIC on Windows (and perhaps other operating systems) will OS and other dependency requirements.

It would be useful if there is an API to check whether it is supported. For example:

if (QuicConnection.IsSupported)
{
    // Do QUIC things with System.Net.Quic
}
else
{
    // Fallback to doing TCP things with Socket
}
Author: JamesNK
Assignees: -
Labels:

api-suggestion, area-System.Net.Quic

Milestone: -

@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Apr 30, 2021
@scalablecory scalablecory removed the untriaged New issue has not been triaged by the area owner label May 1, 2021
@scalablecory scalablecory added this to the 6.0.0 milestone May 1, 2021
@geoffkizer
Copy link
Contributor

There is some code in SocketsHttpHandler that does this sort of test currently: https://github.com/dotnet/runtime/blob/main/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpConnectionPool.cs#L867

Note the comment referencing #44922; I think that is the eventual solution here, we are just waiting for this to land.

@ManickaP
Copy link
Member

ManickaP commented Jul 7, 2021

Windows version check fixed with #54488

Note that S.N.Quic is PNSE on anything non Win/Linux/OSX, e.g. wasm. Thanks to code analyzers you get compilation errors when trying to reference and use S.N.Quic on those platforms.

@ManickaP ManickaP closed this as completed Jul 7, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Aug 6, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
api-suggestion Early API idea and discussion, it is NOT ready for implementation area-System.Net.Quic
Projects
None yet
Development

No branches or pull requests

4 participants