Accept any EventLoops in `.delegate(on:)`, not just ones from AHC's own ELG
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- swift
- 領域
- networking
調査の方向性
.delegate(on:) のエントリーポイントから開始し、渡された EventLoop を AHC 独自の EventLoopGroup に制限しているランタイム検証を追跡します。別のグループの EventLoop を使ったテストカバレッジを追加し、そのうえで、基盤となる Channels が引き続き AHC によって管理されながら、クラッシュせずに委譲が機能することを確認します。
索引モデルが issue の本文から書いたものです。
説明
The badly named but highly useful .delegate(on:) specifies two things:
- Which
EventLoopthe returned futures are bound to - Which
EventLoopthe delegate callouts happen on.
Crucially it does not specify on what EventLoop the underlying Channels are running on. Yes, as an optimisation if possible & sensible (i.e. the connection pool doesn't already have a valid connection) we try to create new Channels on the same EventLoop but that's neither guaranteed nor required.
Expected behaviour
If I pass a random EventLoop to AHC's eventLoop: .delegate(on: myRandomEL) then I would expect this to work, even if AHC itself is using an EventLoopGroup that doesn't contain my EventLoop for its Channels.
Actual behaviour
AHC crashes and tells me that I can only use EventLoops from AHC's EventLoopGroup at runtime. That's bad an unnecessary.
- 主要言語
- Swift
- スター
- 1.1k
- フォーク
- 156
- 平均マージ
- 1時間 54分
- マージ済み PR(30日)
- 4
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
swift-server/async-http-client のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 22/100
-
Invalid state: idleオープン
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
swift-server/async-http-client#927 · コメント 2 件 ·
-
Windows versionオープン
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
swift-server/async-http-client#923 · コメント 1 件 ·
-
Crash in `HTTP2ClientRequestHandler`対応中かも @rupayon123 が 17 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 72/100
swift-server/async-http-client の issue をすべて見る
似ている issue
-
cable-report
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
darrylmorley/whatcable#656 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
omlahore/RemoveMacAI#67 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
521xueweihan/HelloGitHub#4049 ·
-
[quality] macOSScreenshotLocation(): configured-location branch (ScreenshotFiles.swift:30) never executes under swift test対応中かも @arteeh が今日担当しました。 オープンagent/quality agent/reviewer help wanted kind/test stage/040-covered-by-pr testing
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
hivecommons/hotshot#249 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
whysosuresh/capsjump#65 ·
メンテナーはふだん 1 日以内に返信