quic: Add mechanism similar to waitUntilAvailable to create(Bi|Uni)directionalStream
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 122k
- Forks
- 37.3k
- Avg merge
- 4d 2h
- Merged PRs (30d)
- 283
Description
The webtransport W3 spec allows to pass the option waitUntilAvailable to functions creating streams,
see e,g, here for a bidi stream:
https://www.w3.org/TR/webtransport/#dom-webtransport-createbidirectionalstream
The idea is that if the stream number flow control is exhausted, you have the option for waitUntilAvailable, which if it is set to false throw and tells the caller, that the flow control window for streams is exhausted.
(Alternatively, we can also supply a property to query the current budget).
The same is true for unidirectional stream.
@jasnell @pimterry
What would you think is a good api for this?
P.S: After the stream and session data flow control handling got attention. I will probably after this is decided, activate my stream number flow control tests on webtransport. As the stream number flow control is a another playing field that can easily lead to stalls. (Though I do not know if something is wrong.....)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the WebTransport specification linked in the issue and the existing createBidirectionalStream and createUnidirectionalStream entry points. Compare the proposed waitUntilAvailable behavior with current stream-number flow-control handling and the alternative budget-query idea. Done requires an agreed API for both stream directions and tests covering exhausted and available flow-control windows.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js
- Domain
- api, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100