BroadcastBlock<T> Třída

Definice

Poskytuje vyrovnávací paměť pro ukládání maximálně jednoho prvku v čase, přičemž při doručení každé zprávy přepíše další zprávu.

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)

Parametry typu

T

Určuje typ dat uložených v vyrovnávací paměti tohoto bloku toku dat.

Dědičnost
BroadcastBlock<T>
Implementuje

Poznámky

Note

Knihovna toku dat TPL (jmenný prostor System.Threading.Tasks.Dataflow) není distribuována s .NET. Pokud chcete nainstalovat obor názvů System.Threading.Tasks.Dataflow v sadě Visual Studio, otevřete projekt, zvolte v nabídce Projekt možnost Spravovat balíčky NuGet a balíček System.Threading.Tasks.Dataflow vyhledejte online. Případně ji můžete nainstalovat pomocí rozhraní příkazového řádku .NET Core, spusťte dotnet add package System.Threading.Tasks.Dataflow.

BroadcastBlock<T> zveřejňuje najednou maximálně jeden prvek. Na rozdíl od WriteOnceBlock<T>, že element bude přepsán jako nové prvky jsou k dispozici bloku. BroadcastBlock<T> zajišťuje, aby aktuální prvek byl vysílán do všech propojených cílů před povolením přepsání elementu.

Konstruktory

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

Inicializuje BroadcastBlock<T> se zadanou funkcí klonování a DataflowBlockOptions.

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

Inicializuje BroadcastBlock<T> zadanou funkci klonování.

Vlastnosti

Name Description
Completion

Task Získá, který představuje asynchronní operace a dokončení bloku toku dat.

Metody

Name Description
Complete()

Signály pro IDataflowBlock to, že by neměl přijímat ani vytvářet žádné další zprávy, ani využívat žádné odložené zprávy.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
LinkTo(ITargetBlock<T>, DataflowLinkOptions)

Odkazuje na ISourceBlock<TOutput> zadanou ITargetBlock<TInput>.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje formátovaný název této IDataflowBlock instance.

TryReceive(Predicate<T>, T)

Pokusí se synchronně přijmout dostupnou výstupní položku z objektu IReceivableSourceBlock<TOutput>.

Explicitní implementace rozhraní

Name Description
IDataflowBlock.Fault(Exception)

Způsobí, že se IDataflowBlock dokončí ve Faulted stavu.

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

Pokusí se synchronně přijmout všechny dostupné položky z objektu IReceivableSourceBlock<TOutput>.

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

Volal odkaz ITargetBlock<TInput> , aby přijímal a spotřebovával DataflowMessageHeader dříve nabízené tímto ISourceBlock<TOutput>.

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

Volal by odkaz ITargetBlock<TInput> na vydání dříve rezervované DataflowMessageHeader tímto ISourceBlock<TOutput>.

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

Volal by odkaz ITargetBlock<TInput> na rezervaci dříve nabízené DataflowMessageHeader tímto ISourceBlock<TOutput>.

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

Nabízí zprávu ITargetBlock<TInput>, která cíli dává příležitost využívat nebo odložit zprávu.

Metody rozšíření

Name Description
AsObservable<TOutput>(ISourceBlock<TOutput>)

Vytvoří novou IObservable<T> abstrakci přes ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Vytvoří novou IObserver<T> abstrakci přes ITargetBlock<TInput>.

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

Pro propojení se ISourceBlock<TOutput> zadaným ITargetBlock<TInput> filtrem.

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

Pro propojení se ISourceBlock<TOutput> zadaným ITargetBlock<TInput> filtrem.

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

Odkazuje na ISourceBlock<TOutput> zadanou ITargetBlock<TInput>.

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

Task<TResult> Poskytuje, že asynchronně monitoruje zdroj pro dostupný výstup.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Task<TResult> Poskytuje, že asynchronně monitoruje zdroj pro dostupný výstup.

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

Publikuje položku do souboru ITargetBlock<TInput>.

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

Synchronně přijímá hodnotu ze zadaného zdroje a poskytuje token pro zrušení operace.

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

Synchronně přijímá hodnotu ze zadaného zdroje a poskytuje token pro zrušení operace a sledování volitelného intervalu časového limitu.

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

Synchronně přijímá hodnotu ze zadaného zdroje a sleduje volitelnou dobu vypršení časového limitu.

Receive<TOutput>(ISourceBlock<TOutput>)

Synchronně přijímá hodnotu ze zadaného zdroje.

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

Vytvoří objekt IAsyncEnumerable<T> , který umožňuje přijímat všechna data ze zdroje.

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

Asynchronně přijímá hodnotu ze zadaného zdroje a poskytuje token pro zrušení operace.

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

Asynchronně přijímá hodnotu ze zadaného zdroje a poskytuje token pro zrušení operace a sledování volitelného intervalu časového limitu.

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

Asynchronně přijímá hodnotu ze zadaného zdroje a sleduje volitelnou dobu vypršení časového limitu.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Asynchronně přijímá hodnotu ze zadaného zdroje.

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

Asynchronně nabízí zprávu cílovému bloku zprávy, což umožňuje odložení.

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

Asynchronně nabízí zprávu cílovému bloku zprávy, což umožňuje odložení.

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

Pokusí se synchronně přijmout položku z objektu ISourceBlock<TOutput>.

Platí pro