python-hyper / python-hyper/h2
Extensibility framework
オープン
まだ誰も着手していません。
Enhancement
- 主要言語
- Python
- スター
- 1k
- フォーク
- 187
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
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.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、h2 にある既存の HTTP/2 ステートマシン、フレーム解析、コールバック、設定、エラーコード処理を整理します。次に、hyperframe で必要となる関連作業を確認し、既存の動作を壊さずに拡張によってフレーム、遷移、設定、コールバック、エラーコードを追加する方法を決定します。両方のプロジェクトにおいて、拡張性の設計が定義され、それを支える実装が行われれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- api, networking
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 20/100