CodeChain-io / CodeChain-io/remote-trait-object

Why the port must be dropped when the context is dropped?

オープン
#48 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る
question
主要言語
Rust
スター
13
フォーク
5
PR マージ指標
30日以内にマージされた PR はありません

説明

https://github.com/CodeChain-io/remote-trait-object/blob/7ac07c741059ae583a05143a62cd6b07898e1c0b/remote-trait-object/src/context.rs#L63

Currently, it fails to drop the context when the port is still held by others. But, there is no way to guarantee whether all other holders released before the context dropped.
How about dropping context calls shutdown and making the methods of the `Port` returns a `Result`?
It also should make the shutdown of the `Port` takes the mutable reference of the self. It means the user can access the port after shutdown, but I think this would be safer.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

remote-trait-object/src/context.rs の63行目を読み、次に Context と Port の所有権およびシャットダウンが現在どのように相互作用しているかを追跡する。何かを変更する前に、提案されているシャットダウンと Result を返す API のセマンティクスを確定すること。Context が破棄されたときに Ports が保持されたままである場合の動作が明示的に定義され、実装されていれば完了とする。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
rust
領域
distributed-systems
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
30/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。