次の方法で共有


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

定義

このインターフェイスは、プロデューサーとコンシューマーの間で分散ランデブーとして機能するオブジェクトを表します。 これは、リアクティブ フレームワークSubjectに似ていて、 と IObservable インターフェイスをIObserver実装します。

public interface IAsyncStream<T> : IComparable<Orleans.Streams.IAsyncStream<T>>, IEquatable<Orleans.Streams.IAsyncStream<T>>, Orleans.Streams.IAsyncBatchObserver<T>, Orleans.Streams.IAsyncObservable<T>, Orleans.Streams.IAsyncObserver<T>, Orleans.Streams.IStreamIdentity
public interface IAsyncStream<T> : IComparable<Orleans.Streams.IAsyncStream<T>>, IEquatable<Orleans.Streams.IAsyncStream<T>>, Orleans.Streams.IAsyncBatchObservable<T>, Orleans.Streams.IAsyncBatchProducer<T>, Orleans.Streams.IAsyncObservable<T>, Orleans.Streams.IAsyncObserver<T>, Orleans.Streams.IStreamIdentity
public interface IAsyncStream<T> : IComparable<Orleans.Streams.IAsyncStream<T>>, IEquatable<Orleans.Streams.IAsyncStream<T>>, Orleans.Streams.IAsyncBatchObservable<T>, Orleans.Streams.IAsyncBatchProducer<T>, Orleans.Streams.IAsyncObservable<T>, Orleans.Streams.IAsyncObserver<T>, Orleans.Streams.IAsyncStream
type IAsyncStream<'T> = interface
    interface IStreamIdentity
    interface IEquatable<IAsyncStream<'T>>
    interface IComparable<IAsyncStream<'T>>
    interface IAsyncObservable<'T>
    interface IAsyncBatchObserver<'T>
    interface IAsyncObserver<'T>
type IAsyncStream<'T> = interface
    interface IStreamIdentity
    interface IEquatable<IAsyncStream<'T>>
    interface IComparable<IAsyncStream<'T>>
    interface IAsyncObservable<'T>
    interface IAsyncBatchObservable<'T>
    interface IAsyncBatchProducer<'T>
    interface IAsyncObserver<'T>
type IAsyncStream<'T> = interface
    interface IAsyncStream
    interface IEquatable<IAsyncStream<'T>>
    interface IComparable<IAsyncStream<'T>>
    interface IAsyncObservable<'T>
    interface IAsyncBatchObservable<'T>
    interface IAsyncBatchProducer<'T>
    interface IAsyncObserver<'T>
Public Interface IAsyncStream(Of T)
Implements IAsyncBatchObserver(Of T), IAsyncObservable(Of T), IAsyncObserver(Of T), IComparable(Of IAsyncStream(Of T)), IEquatable(Of IAsyncStream(Of T)), IStreamIdentity
Public Interface IAsyncStream(Of T)
Implements IAsyncBatchObservable(Of T), IAsyncBatchProducer(Of T), IAsyncObservable(Of T), IAsyncObserver(Of T), IComparable(Of IAsyncStream(Of T)), IEquatable(Of IAsyncStream(Of T)), IStreamIdentity
Public Interface IAsyncStream(Of T)
Implements IAsyncBatchObservable(Of T), IAsyncBatchProducer(Of T), IAsyncObservable(Of T), IAsyncObserver(Of T), IAsyncStream, IComparable(Of IAsyncStream(Of T)), IEquatable(Of IAsyncStream(Of T))

型パラメーター

T

ストリームを流れるオブジェクトの種類。

実装

プロパティ

Guid

一意識別子を取得します。

(継承元 IStreamIdentity)
IsRewindable

これが巻き戻し可能なストリームであるかどうかを判断します。これは、以前の時点からのサブスクライブをサポートします。

Namespace

名前空間を取得します。

(継承元 IStreamIdentity)
ProviderName

ストリーム プロバイダー名。

StreamId

ストリーム識別子を取得します。

(継承元 IAsyncStream)

メソッド

GetAllSubscriptionHandles()

このストリームの呼び出し元によって作成されたすべてのアクティブなサブスクリプションの一覧を取得します。

OnCompletedAsync()

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

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

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

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

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

(継承元 IAsyncObserver<T>)
OnNextAsync(IList<SequentialItem<T>>)

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

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

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

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

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

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

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

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

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

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

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

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

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

(継承元 IAsyncBatchProducer<T>)
SubscribeAsync(IAsyncBatchObserver<T>, StreamSequenceToken)

コンシューマーをこのバッチ監視可能にサブスクライブします。

(継承元 IAsyncBatchObservable<T>)
SubscribeAsync(IAsyncBatchObserver<T>)

コンシューマーをこのバッチ監視可能にサブスクライブします。

(継承元 IAsyncBatchObservable<T>)
SubscribeAsync(IAsyncObserver<T>, StreamSequenceToken, StreamFilterPredicate, Object)

コンシューマーをこの監視可能にサブスクライブします。

(継承元 IAsyncObservable<T>)
SubscribeAsync(IAsyncObserver<T>, StreamSequenceToken, String)

コンシューマーをこの監視可能にサブスクライブします。

(継承元 IAsyncObservable<T>)
SubscribeAsync(IAsyncObserver<T>)

コンシューマーをこの監視可能にサブスクライブします。

(継承元 IAsyncObservable<T>)

拡張メソッド

SubscribeAsync<T>(IAsyncBatchObservable<T>, Func<IList<SequentialItem<T>>,Task>, Func<Exception,Task>, Func<Task>)

デリゲートを使用して、コンシューマーをこの監視可能にサブスクライブします。 このメソッドは、IAsyncBatchObservable.SubscribeAsync のヘルパーであり、サブスクライブ クラスが IAsyncBatchObserver のインスタンスを必要とするのではなく、ハンドラー メソッドをインライン化できるようにします。

SubscribeAsync<T>(IAsyncBatchObservable<T>, Func<IList<SequentialItem<T>>,Task>, Func<Exception,Task>)

デリゲートを使用して、コンシューマーをこの監視可能にサブスクライブします。 このメソッドは、IAsyncBatchObservable.SubscribeAsync のヘルパーであり、サブスクライブ クラスが IAsyncBatchObserver のインスタンスを必要とするのではなく、ハンドラー メソッドをインライン化できるようにします。

SubscribeAsync<T>(IAsyncBatchObservable<T>, Func<IList<SequentialItem<T>>,Task>, Func<Task>)

デリゲートを使用して、コンシューマーをこの監視可能にサブスクライブします。 このメソッドは、IAsyncBatchObservable.SubscribeAsync のヘルパーであり、サブスクライブ クラスが IAsyncBatchObserver のインスタンスを必要とするのではなく、ハンドラー メソッドをインライン化できるようにします。

SubscribeAsync<T>(IAsyncBatchObservable<T>, Func<IList<SequentialItem<T>>,Task>)

デリゲートを使用して、コンシューマーをこの監視可能にサブスクライブします。 このメソッドは、IAsyncBatchObservable.SubscribeAsync のヘルパーであり、サブスクライブ クラスが IAsyncBatchObserver のインスタンスを必要とするのではなく、ハンドラー メソッドをインライン化できるようにします。

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, StreamSequenceToken, StreamFilterPredicate, Object)

デリゲートを使用して、コンシューマーをこの監視可能にサブスクライブします。 このメソッドは IAsyncObservable.SubscribeAsync のヘルパーであり、サブスクライブ クラスは IAsyncObserver のインスタンスを必要とするのではなく、ハンドラー メソッドをインライン化できます。

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, StreamSequenceToken)

デリゲートを使用して、コンシューマーをこの監視可能にサブスクライブします。 このメソッドは IAsyncObservable.SubscribeAsync のヘルパーであり、サブスクライブ クラスは IAsyncObserver のインスタンスを必要とするのではなく、ハンドラー メソッドをインライン化できます。

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, Func<Exception,Task>, StreamSequenceToken, StreamFilterPredicate, Object)

デリゲートを使用して、コンシューマーをこの監視可能にサブスクライブします。 このメソッドは IAsyncObservable.SubscribeAsync のヘルパーであり、サブスクライブ クラスは IAsyncObserver のインスタンスを必要とするのではなく、ハンドラー メソッドをインライン化できます。

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, Func<Exception,Task>, StreamSequenceToken)

デリゲートを使用して、コンシューマーをこの監視可能にサブスクライブします。 このメソッドは IAsyncObservable.SubscribeAsync のヘルパーであり、サブスクライブ クラスは IAsyncObserver のインスタンスを必要とするのではなく、ハンドラー メソッドをインライン化できます。

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken, Task>, Func<Exception,Task>, Func<Task>, StreamSequenceToken, StreamFilterPredicate, Object)

デリゲートを使用して、コンシューマーをこの監視可能にサブスクライブします。 このメソッドは IAsyncObservable.SubscribeAsync のヘルパーであり、サブスクライブ クラスは IAsyncObserver のインスタンスを必要とするのではなく、ハンドラー メソッドをインライン化できます。

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, Func<Exception,Task>, Func<Task>, StreamSequenceToken)

デリゲートを使用して、コンシューマーをこの監視可能にサブスクライブします。 このメソッドは IAsyncObservable.SubscribeAsync のヘルパーであり、サブスクライブ クラスは IAsyncObserver のインスタンスを必要とするのではなく、ハンドラー メソッドをインライン化できます。

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, Func<Exception,Task>, Func<Task>)

デリゲートを使用して、コンシューマーをこの監視可能にサブスクライブします。 このメソッドは IAsyncObservable.SubscribeAsync のヘルパーであり、サブスクライブ クラスは IAsyncObserver のインスタンスを必要とするのではなく、ハンドラー メソッドをインライン化できます。

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, Func<Exception,Task>)

デリゲートを使用して、コンシューマーをこの監視可能にサブスクライブします。 このメソッドは IAsyncObservable.SubscribeAsync のヘルパーであり、サブスクライブ クラスは IAsyncObserver のインスタンスを必要とするのではなく、ハンドラー メソッドをインライン化できます。

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, Func<Task>, StreamSequenceToken, StreamFilterPredicate, Object)

デリゲートを使用して、コンシューマーをこの監視可能にサブスクライブします。 このメソッドは IAsyncObservable.SubscribeAsync のヘルパーであり、サブスクライブ クラスは IAsyncObserver のインスタンスを必要とするのではなく、ハンドラー メソッドをインライン化できます。

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, Func<Task>, StreamSequenceToken)

デリゲートを使用して、コンシューマーをこの監視可能にサブスクライブします。 このメソッドは IAsyncObservable.SubscribeAsync のヘルパーであり、サブスクライブ クラスは IAsyncObserver のインスタンスを必要とするのではなく、ハンドラー メソッドをインライン化できます。

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, Func<Task>)

デリゲートを使用して、コンシューマーをこの監視可能にサブスクライブします。 このメソッドは IAsyncObservable.SubscribeAsync のヘルパーであり、サブスクライブ クラスは IAsyncObserver のインスタンスを必要とするのではなく、ハンドラー メソッドをインライン化できます。

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>)

デリゲートを使用して、コンシューマーをこの監視可能にサブスクライブします。 このメソッドは IAsyncObservable.SubscribeAsync のヘルパーであり、サブスクライブ クラスは IAsyncObserver のインスタンスを必要とするのではなく、ハンドラー メソッドをインライン化できます。

適用対象