-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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 stream priority support #90281
Comments
Tagging subscribers to this area: @dotnet/ncl Issue DetailsMsQuic has support for stream prioritization: https://github.com/microsoft/msquic/blob/main/docs/Settings.md#stream-parameters ( This is something I'd like to use in my application, so I wanted to first check if there are already existing plans to support this in System.Net.Quic? (I saw there's discussion about adding more options in #72984, but that seems to be specifically about connection-level options.) If there are no existing plans for this, I can turn this issue into an actual API proposal.
|
Hey, no plans for stream level configuration yet. If you wish to work an API proposal, we'll gladly take it and help wherever needed. I did a quick search on the spec (https://www.rfc-editor.org/rfc/rfc9000.html#name-stream-prioritization) and Rust quiche implementation of this feature (https://docs.rs/quiche/latest/quiche/struct.Connection.html#method.stream_priority). The spec doesn't say anything about representation of this and it doesn't affect the wire operations, it's just a suggestion on possible implementation. Thus, MsQuic use different type ( Whether you feel like looking into it or not, this will not get in earlier than 9.0 as all API changes for 8.0 are past due. |
Given the difference in priority type, do you think it would make more sense to go with Additionally, would we want this to be configurable at stream creation time (i.e. with a 🤔 |
I think it should be a settable property on |
@ManickaP any thoughts on this part? |
Both And sorry for such a late reply, it got off my radar. |
No problem, thanks for the reply. 🙂 I'll type up an updated proposal later today. |
Updated the issue with a proposed API surface and some considerations for API review. |
Just checking in, do I need to do anything else for this to become ready for API review? 👀 |
I just put it on my team's radar, we'll discuss it in 2 weeks time in the latest (I'll be OOF for 2 weeks). Though be aware that as you're the only one asking for this (no upvotes, |
Yeah, that's fine, just wanted to make sure it wasn't forgotten. 🙂 |
Triage: we decided to wait with this API as we have only one person wanting this at the moment. If there're more people out there looking for this, please upvote so we can prioritize this better (pun intended 😄 ) |
Can it be reconsidered for .NET 10 planning? Or is it just dependent on more people needing it? |
Yes and no. This is backed by RFC, which gives us an argument to introduce it without a great number of people asking for it. On the other hand, you're the only one asking so that gives us argument to chop it. EDIT: I moved to 10.0 for now. |
MsQuic has support for stream prioritization: https://github.com/microsoft/msquic/blob/main/docs/Settings.md#stream-parameters (
QUIC_PARAM_STREAM_PRIORITY
)This is something I'd like to use in my application, so I wanted to first check if there are already existing plans to support this in System.Net.Quic? (I saw there's discussion about adding more options in #72984, but that seems to be specifically about connection-level options.)
If there are no existing plans for this, I can turn this issue into an actual API proposal.
API proposal after discussion
Considerations:
ushort
priority values, quiche only supportsbyte
, hencePriority
being typed as the latter.int
and just limit the range until such a time that we might want to allow a broader range of values.QuicStreamPriority
enum, akin toThreadPriority
, but perhaps this is too constraining.The text was updated successfully, but these errors were encountered: