IAsyncBatchObserver<T> インターフェイス

定義

このインターフェイスは、IAsyncObserver インターフェイスを一般化して、項目のバッチの生成と消費を可能にします。

このインターフェイスは項目コンシューマーによって実装され、項目プロデューサーによって呼び出されます (使用されます)。 これは、ストリームのコンシューマー エンドポイントがこのインターフェイスを実装することを意味します。

public interface IAsyncBatchObserver<in T> : Orleans.Streams.IAsyncObserver<in T>
public interface IAsyncBatchObserver<T>
type IAsyncBatchObserver<'T> = interface
    interface IAsyncObserver<'T>
type IAsyncBatchObserver<'T> = interface
Public Interface IAsyncBatchObserver(Of In T)
Implements IAsyncObserver(Of In T)
Public Interface IAsyncBatchObserver(Of T)

型パラメーター

T

オブザーバーによって使用されるオブジェクトの型。

この型パラメーターは反変です。 つまり、指定した型、または弱い派生型のいずれかを使用することができます。 共変性および反変性の詳細については、「ジェネリックの共変性と反変性」をご覧ください。
派生
実装

メソッド

OnCompletedAsync()

ストリームが完了したことをコンシューマーに通知します。

このメソッドから返される Task は、コンシューマーがストリームクロージャの処理を完了したときに完了する必要があります。

OnErrorAsync(Exception)

ストリームにエラーが発生したことをコンシューマーに通知します。

このメソッドから返される Task は、コンシューマーがストリームクロージャの処理を完了したときに完了する必要があります。

OnNextAsync(IList<SequentialItem<T>>)

アイテムの次のバッチをコンシューマーに渡します。

このメソッドから返されるタスクは、アイテムの処理がコンシューマーによって十分に処理され、動作の保証を満たしている場合に完了する必要があります。

コンシューマーがストリームの (プロデューサー エンドポイント) である場合、タスクは、ストリームの実装がアイテムの責任を受け入れ、配信の保証を満たすことが保証されている場合に完了します。 たとえば、永続的なキューに基づくストリームは、アイテムが永続的に保存されたときにタスクを完了します。 配信が最大で 1 回だけベスト エフォートを提供するストリームは、既に完了しているタスクを返します。

プロデューサーがストリームの (コンシューマー エンドポイント) である場合、アイテムの責任を受け入れたときにコンシューマー コードによってタスクを完了する必要があります。 特に、ストリーム プロバイダーが少なくとも 1 回の配信を保証する場合、コンシューマーから返されたタスクが完了するまで、アイテムを配信と見なすべきではありません。

OnNextAsync(T, StreamSequenceToken)

次の項目をコンシューマーに渡します。

このメソッドから返される Task は、動作の保証を満たすためにコンシューマーによってアイテムの処理が十分に処理されている場合に完了する必要があります。

コンシューマーがストリームの (プロデューサー エンドポイント) である場合、タスクは、ストリームの実装がアイテムの責任を受け入れ、配信の保証を満たすことが保証されている場合に完了します。 たとえば、永続的なキューに基づくストリームは、アイテムが永続的に保存されたときにタスクを完了します。 配信が最大で 1 回だけベスト エフォートを提供するストリームは、既に完了しているタスクを返します。

プロデューサーがストリームの (コンシューマー エンドポイント) である場合、アイテムの責任を受け入れたときにコンシューマー コードによってタスクが完了する必要があります。 特に、ストリーム プロバイダーが少なくとも 1 回の配信を保証する場合、コンシューマーから返されたタスクが完了するまで、アイテムを配信と見なすべきではありません。

(継承元 IAsyncObserver<T>)
OnNextBatchAsync(IEnumerable<T>, StreamSequenceToken)

アイテムの次のバッチをコンシューマーに渡します。

このメソッドから返されるタスクは、バッチ内のすべての項目がコンシューマーによって動作保証を満たすのに十分に処理されている場合に完了する必要があります。

つまり、返される Task のセマンティクスは、 の場合と OnNextAsync同じであり、バッチ内のすべての項目に対して拡張されます。

適用対象