次の方法で共有


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

定義

このインターフェイスは、IAsyncObserver インターフェイスを一般化して、項目のバッチを生成できるようにします。

このインターフェイスは、項目プロデューサーによって呼び出されます (使用されます)。

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

型パラメーター

T

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

派生
実装

メソッド

OnCompletedAsync()

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

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

(継承元 IAsyncObserver<T>)
OnErrorAsync(Exception)

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

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

(継承元 IAsyncObserver<T>)
OnNextAsync(T, StreamSequenceToken)

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

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

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

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

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

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

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

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

適用対象