-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Require preview features for most quic options #43639
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
Require preview features for most quic options #43639
Conversation
|
This has essentially been public for all of .NET 7, so I feel like we should treat this as an API change and give Tactics a heads up. Are we worried about there being people out there using it? |
|
It was preview in 6 and earlier in .NET 7. These are not commonly used APIs, and at most people using them will get a suppressible warning. |
|
Hi @Tratcher. Please make sure you've updated the PR description to use the Shiproom Template. Also, make sure this PR is not marked as a draft and is ready-to-merge. To learn more about how to prepare a servicing PR click here. |
halter73
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we also want to add [RequiresPreviewFeatures] to DefaultStreamErrorCode and DefaultCloseErrorCode? Those seem like things that don't really belong in the transport layer and we might want to remove later. @JamesNK
It might also make sense to forward the tactics email to the API reviews+reviewers DLs to inform anyone else who might have opinions about this PR.
|
These values are configured when a QUIC connection is started. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Who is expected to read or set DefaultStream/CloseErrorCode @JamesNK? What values would they change these to and why?
If it's for use by Kestrel.Core, I'd still just mark it experiential for now. I could see us exclusively setting the status code with abort or some other features before disposing the connection or stream in the future.
That said, everything marked experimental seems reasonable to me. I could see us keeping some of these like MaxReadBufferSize that have analogs in SocketTransportOptions, but we can unmark it later.
Marking some unfinished quic options as preview so we can continue working on them in .NET 8.
Description
We don't expect to finish #32034 this release so I'm marking the affected APIs as preview. These are not commonly used, the impact should be minimal.
Customer Impact
Customers using these options will get a suppressible warning.
Regression?
The entire quic feature was marked as preview in 6.0. That was removed early in 7.0, but we're going to mark some specific options as preview now.
Risk
Only introduces warnings.
Verification
Packaging changes reviewed?