About
このドキュメントは、R3 のオペレーターとファクトリメソッドを用途別に探せるようにまとめた日本語リファレンスです。
本文では API 名は英語のまま表記し、概念や動作は日本語で説明します。たとえば Subscribe は API 名として扱い、Subscribe によって通知を受け取る状態は「購読」と書きます。
表記ルール
| 表記 | 使い方 |
|---|---|
Subscribe | API 名やコードとして参照する場合に使います。 |
| 購読 | Subscribe によって通知を受け取る状態や動作を説明する場合に使います。 |
| 購読解除 | IDisposable.Dispose() などで通知の受け取りを停止することを指します。 |
| 発行 | Observable<T> が値や通知を下流へ流すことを指します。 |
| 完了 | シーケンスが終了し、以降の値が流れない状態を指します。 |
| 正常完了 | OnCompleted(Result.Success) などにより、シーケンスが成功として終了する場合に使います。 |
| 失敗完了 | OnCompleted(Result.Failure(...)) により、シーケンスが失敗として終了する場合に使います。 |
| 非致命的エラー | OnErrorResume によって通知され、シーケンスを継続するエラーを指します。 |
| 致命的エラー | シーケンスを終了させるエラーを指します。R3 では主に失敗完了として扱います。 |
| ソース | オペレーターやファクトリメソッドの入力元となる Observable を指します。 |
| 上流 / 下流 | Observable チェーンで、入力側を上流、通知を受け取る側を下流と呼びます。 |
用語集
| 用語 | 説明 |
|---|---|
Observable<T> | 値や完了通知を時間順に流すデータソースです。 |
Observer<T> | Observable<T> からの通知を受け取る側です。 |
Subscribe | Observable<T> の購読を開始する API です。 |
| 購読 | Subscribe によって通知を受け取れる状態になることです。 |
| 購読解除 | Subscribe が返す IDisposable を破棄するなどして、通知の受け取りを停止することです。 |
OnNext | 値が発行されたことを表す通知です。 |
OnCompleted | シーケンスが完了したことを表す通知です。R3 では Result により成功・失敗を表します。 |
OnErrorResume | シーケンスを終了させずに例外を通知する、R3 の非致命的なエラー通知です。 |
Result | OnCompleted の成功・失敗を表す値です。 |
| ソース | オペレーターやファクトリメソッドの入力元になる Observable です。 |
| 上流 | Observable チェーンで、現在のオペレーターより入力側にある処理や Observable です。 |
| 下流 | Observable チェーンで、現在のオペレーターより通知を受け取る側にある処理や Observer です。 |
| ホット | 購読者ごとに個別に開始されるのではなく、既に動いている 1 つのソースを複数の購読者で共有する状態です。 |
| コールド | 購読されるたびに新しいシーケンスを開始する Observable の性質です。 |
| マルチキャスト | ソースからの通知を Subject などを介して複数の Observer に配信することです。 |
Subject<T> | Observer<T> として通知を受け取り、Observable<T> として購読者へ通知を配信するための型です。 |
ConnectableObservable | Connect() を呼ぶまでソースを開始せず、接続タイミングを制御できる Observable です。 |
CancellationToken | 非同期処理や長いシーケンスにキャンセルを伝えるための .NET の仕組みです。 |
| オペレーター | 既存の Observable<T> を変換、結合、フィルタリングするメソッドです。 |
| ファクトリメソッド | 値、時間、イベントなどから新しい Observable<T> を作るメソッドです。 |
TimeProvider | 時間ベースの処理で時刻やタイマーを提供する仕組みです。 |
FrameProvider | フレームベースの処理でフレーム進行を提供する仕組みです。 |