Azure / Azure/azure-libraries-for-java

Support cancellation for async methods

オープン
#616 コメント 0 件 リアクション 1 件 担当者 0 名 GitHub で見る
customer-reported Question Subscription
主要言語
Java
スター
97
フォーク
102
PR マージ指標
30日以内にマージされた PR はありません

説明

Currently azure java libraries are depend on rxjava1 where `Completable` and `Observable` in `*Async` method results do not support any cancellation methods and offer only `Subscription#unsubscribe`. In rxjava2 exists [Disposable#dispose](http://reactivex.io/RxJava/javadoc/io/reactivex/disposables/Disposable.html) which allows to terminate async execution.

It makes impossible to support cooperative cancellation for such methods, e.g. in [Kotlin coroutines](https://github.com/Kotlin/kotlinx.coroutines/blob/master/docs/cancellation-and-timeouts.md#cancellation-and-timeouts) which has [rxjava2 extensions](https://github.com/Kotlin/kotlinx.coroutines/blob/master/reactive/kotlinx-coroutines-rx2/README.md).

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

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

調査の方向性

まず、Azure Java libraries の *Async methods と、それらの RxJava 1 における Completable および Observable の結果を調査します。利用可能なキャンセル動作を、RxJava 2 の Disposable および関連する Kotlin coroutine cancellation のユースケースと比較します。対象となる async API が、定義済みの協調的なキャンセル機構を提供すれば完了です。

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

評価

技術スタック
java
領域
api
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

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

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