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

Make errors handleable

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

説明

Most of errors that caused by unexpected behavior of the other side's RTO port will just lead to panic.
However, especially in Foundry context, the other port might have been implemented by 3rd party and could be unreliable.
In this kind of cases, user will just want to handle the error, not panic.

One trivial solution is adding a `Failed` state for the RTO context. The context will be on `Failed` state when it encounters unexpected protocol error, and will be stopped. Users can notice this, and can handle with theirs means.

One drawback of supporting such error handling is the interface of service object; it might be mandatory to all methods to have `Result<>` as return types.

Depends on #76
Depends on #83

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

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

調査の方向性

まず依存する issue #76 と #83 を確認し、次にこの issue で説明されている service object interface と RTO context lifecycle を調査します。予期しないプロトコルエラーによって context がどのように遷移するか、またユーザーがその失敗をどのように観測して処理するかを決定します。interface と失敗時の動作が定義され、panics なしで実装された時点で作業は完了です。

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

評価

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

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

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