nodejs / nodejs/node

quic: Add mechanism similar to waitUntilAvailable to create(Bi|Uni)directionalStream

Offen
#65,321 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

quic
Vorherrschende Sprache
JavaScript
Sterne
122k
Forks
37.3k
Ø Merge
4 T. 2 Std.
Gemergte PRs (30 T.)
283

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.....)

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

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.

Bewertung

Tech-Stack
javascript, node.js
Bereich
api, networking
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Ruhig
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.