Extensibility framework
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 20/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- python
- Bereich
- api, networking
Rechercherichtung
Beginne damit, die vorhandene HTTP/2-Zustandsmaschine, das Frame-Parsing, Callbacks, Settings und die Fehlercodebehandlung in h2 zu erfassen. Prüfe anschließend die damit verbundene erforderliche Arbeit in hyperframe und ermittle, wie Erweiterungen Frames, Übergänge, Settings, Callbacks und Fehlercodes hinzufügen könnten, ohne das bestehende Verhalten zu beeinträchtigen. Abgeschlossen ist die Arbeit, wenn ein definiertes Erweiterbarkeitsdesign und eine unterstützende Implementierung in beiden Projekten vorliegen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
HTTP/2 is extendable: it's one of its great strengths. It would be really nice if H2 was relatively easily extensible. We should aim to start supporting pluggable HTTP/2 extensions.
What do we need to do this? Well, the answer is: what can extensions do?
- They can add new frames. This means we need to be able to add:
- new frame types that can be successfully parsed;
- new transitions in the state machine, both connection and stream, that occur when a new frame is received;
- specific frame callbacks, both connection and stream, that allow manipulating the connection and stream objects;
- allow new frames to follow the state machine transitions and callbacks of a pre-existing frame;
- They can add new state machine transitions in the absence of new frames, or adjust the existing state machine transitions;
- They can add new settings. We need to be able to inject useful representations of settings, and allow callbacks for those settings if they're changed;
- They can add new error codes.
This will also require work in hyperframe.
- Vorherrschende Sprache
- Python
- Sterne
- 1k
- Forks
- 197
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
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 python-hyper/h2
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
python-hyper/h2#1330 ·
-
content-length is not policed when a stream ends with a trailers sectionEvtl. vergeben @feiiiiii5 hat das vor 32 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 76/100
python-hyper/h2#1328 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
python-hyper/h2#1312 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
python-hyper/h2#1280 · 2 Kommentare ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
python-hyper/h2#1239 · 3 Reaktionen ·
Alle Issues in python-hyper/h2
Ähnliche Issues
-
backlog
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 91/100
EchoTools/nevr-runtime#1108 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
btclib-org/btclib-wallet#587 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Judgment-Pack/judgment-pack-spec#275 ·
Maintainer antworten meist innerhalb von 1 Tag