BroadcastBlock<T> クラス

定義

一度に最大で 1 個の要素を格納し、各メッセージを受信した次のメッセージで上書きするバッファーを提供します。

generic <typename T>
public ref class BroadcastBlock sealed : System::Threading::Tasks::Dataflow::IPropagatorBlock<T, T>, System::Threading::Tasks::Dataflow::IReceivableSourceBlock<T>, System::Threading::Tasks::Dataflow::ISourceBlock<T>, System::Threading::Tasks::Dataflow::ITargetBlock<T>
public sealed class BroadcastBlock<T> : System.Threading.Tasks.Dataflow.IPropagatorBlock<T,T>, System.Threading.Tasks.Dataflow.IReceivableSourceBlock<T>, System.Threading.Tasks.Dataflow.ISourceBlock<T>, System.Threading.Tasks.Dataflow.ITargetBlock<T>
type BroadcastBlock<'T> = class
    interface IPropagatorBlock<'T, 'T>
    interface ITargetBlock<'T>
    interface IDataflowBlock
    interface ISourceBlock<'T>
    interface IReceivableSourceBlock<'T>
type BroadcastBlock<'T> = class
    interface IDataflowBlock
    interface IPropagatorBlock<'T, 'T>
    interface ISourceBlock<'T>
    interface ITargetBlock<'T>
    interface IReceivableSourceBlock<'T>
Public NotInheritable Class BroadcastBlock(Of T)
Implements IPropagatorBlock(Of T, T), IReceivableSourceBlock(Of T), ISourceBlock(Of T), ITargetBlock(Of T)

型パラメーター

T

このデータフロー ブロックによりバッファリングされるデータの種類を指定します。

継承
BroadcastBlock<T>
実装

注釈

注意

TPL データフロー ライブラリ (System.Threading.Tasks.Dataflow 名前空間) は、.NET と一緒には配布されません。 Visual Studio に System.Threading.Tasks.Dataflow 名前空間をインストールするには、プロジェクトを開き、[プロジェクト] メニューの [NuGet パッケージの管理] をクリックし、System.Threading.Tasks.Dataflow パッケージをオンラインで検索します。 または、.NET Core CLI を使ってインストールするには、dotnet add package System.Threading.Tasks.Dataflow を実行します。

BroadcastBlock<T> は、一度に最大 1 つの要素を公開します。 ただし、 とは異なり WriteOnceBlock<T>、 ブロックに新しい要素が提供されると、その要素は上書きされます。 BroadcastBlock<T> は、要素を上書きする前に、現在の要素がリンクされたターゲットにブロードキャストされることを保証します。

コンストラクター

BroadcastBlock<T>(Func<T,T>)

指定した複製関数を使用して、BroadcastBlock<T> インスタンスを初期化します。

BroadcastBlock<T>(Func<T,T>, DataflowBlockOptions)

指定した複製関数と DataflowBlockOptionsを使用して をBroadcastBlock<T>初期化します。

プロパティ

Completion

データ フロー ブロックの非同期操作と完了を表す Task を取得します。

メソッド

Complete()

これ以上メッセージを受け付けまたは生成せず、延期メッセージを使用しないことを IDataflowBlock に通知します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
LinkTo(ITargetBlock<T>, DataflowLinkOptions)

ISourceBlock<TOutput> 指定した にリンクします ITargetBlock<TInput>

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

この IDataflowBlock インスタンスの書式設定された名前を表す文字列を返します。

TryReceive(Predicate<T>, T)

使用可能な出力項目を IReceivableSourceBlock<TOutput> から同期的に受け取ろうとします。

明示的なインターフェイスの実装

IDataflowBlock.Fault(Exception)

IDataflowBlockFaulted 状態で完了するようにします。

IReceivableSourceBlock<T>.TryReceiveAll(IList<T>)

使用可能なすべての項目を IReceivableSourceBlock<TOutput> から同期的に受け取ろうとします。

ISourceBlock<T>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<T>, Boolean)

前にこの ITargetBlock<TInput> によって提供された DataflowMessageHeader を受け入れて使用するために、リンクされた ISourceBlock<TOutput> によって呼び出されます。

ISourceBlock<T>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<T>)

この ITargetBlock<TInput> によって前に予約された DataflowMessageHeader を解放するために、リンクされた ISourceBlock<TOutput> によって呼び出されます。

ISourceBlock<T>.ReserveMessage(DataflowMessageHeader, ITargetBlock<T>)

この ITargetBlock<TInput> によって前に提供された DataflowMessageHeader を予約するために、リンクされた ISourceBlock<TOutput> によって呼び出されます。

ITargetBlock<T>.OfferMessage(DataflowMessageHeader, T, ISourceBlock<T>, Boolean)

メッセージを ITargetBlock<TInput> に提供し、メッセージを使用または延期する機会をターゲットに与えます。

拡張メソッド

AsObservable<TOutput>(ISourceBlock<TOutput>)

IObservable<T> の新しい ISourceBlock<TOutput> 抽象化を作成します。

AsObserver<TInput>(ITargetBlock<TInput>)

IObserver<T> の新しい ITargetBlock<TInput> 抽象化を作成します。

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>)

ISourceBlock<TOutput> 指定した にリンクします ITargetBlock<TInput>

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, Predicate<TOutput>)

指定したフィルターを ISourceBlock<TOutput> 使用して、 を指定 ITargetBlock<TInput> した にリンクします。

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, DataflowLinkOptions, Predicate<TOutput>)

指定したフィルターを ISourceBlock<TOutput> 使用して、 を指定 ITargetBlock<TInput> した にリンクします。

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

使用できる出力のソースを非同期的に監視する Task<TResult> を提供します。

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken)

使用できる出力のソースを非同期的に監視する Task<TResult> を提供します。

Post<TInput>(ITargetBlock<TInput>, TInput)

ITargetBlock<TInput> に項目をポストします。

Receive<TOutput>(ISourceBlock<TOutput>)

指定されたソースから値を同期的に受信します。

Receive<TOutput>(ISourceBlock<TOutput>, CancellationToken)

同期的に指定したソースから値を受け取り、操作をキャンセルするトークンを提供します。

Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan)

同期的に指定したソースから値を受信し、オプションのタイムアウト期間を確認します。

Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken)

同期的に操作をキャンセルするトークンを提供し、オプションのタイムアウト間隔を確認する指定したソースから値を受け取ります。

ReceiveAllAsync<TOutput>(IReceivableSourceBlock<TOutput>, CancellationToken)

IAsyncEnumerable<T>ソースからすべてのデータを受信できるようにする を作成します。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

指定されたソースから値を非同期的に受信します。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken)

非同期に指定したソースから値を受け取り、操作をキャンセルするトークンを提供します。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan)

非同期に指定したソースから値を受信し、オプションのタイムアウト期間を確認します。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken)

非同期に操作をキャンセルするトークンを提供し、オプションのタイムアウト間隔を確認する指定したソースから値を受け取ります。

SendAsync<TInput>(ITargetBlock<TInput>, TInput)

ターゲット メッセージ ブロックにメッセージを非同期的に提供し、遅延を可能にします。

SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken)

ターゲット メッセージ ブロックにメッセージを非同期的に提供し、遅延を可能にします。

TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput)

ISourceBlock<TOutput> から使用可能な出力項目を同期的に受信します。

適用対象