quic: Add mechanism similar to waitUntilAvailable to create(Bi|Uni)directionalStream
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- javascript, node.js
- Bereich
- api, networking
Rechercherichtung
Beginne mit der in der Issue verlinkten WebTransport-Spezifikation und den vorhandenen Einstiegspunkten createBidirectionalStream und createUnidirectionalStream. Vergleiche das vorgeschlagene Verhalten von waitUntilAvailable mit der aktuellen Behandlung der Flow-Control für Stream-Nummern und der alternativen Idee einer Budget-Abfrage. Als abgeschlossen gilt die Aufgabe, wenn eine abgestimmte API für beide Stream-Richtungen und Tests für erschöpfte und verfügbare Flow-Control-Fenster vorhanden sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.....)
- Vorherrschende Sprache
- JavaScript
- Sterne
- 122k
- Forks
- 37.4k
- Ø Merge
- 4 T. 3 Std.
- Gemergte PRs (30 T.)
- 279
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus nodejs/node
-
doc
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
build
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
-
feature request
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
palladius/rails8-app-on-gcp#145 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
dotenvx/dotenv-vscode#139 ·
-
test-change-proposal
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
web-platform-tests/interop#1455 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
corsairdev/corsair#1764 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100