Sdílet prostřednictvím


BufferBlock<T> Třída

Definice

Poskytuje vyrovnávací paměť pro ukládání dat pro tok dat.

generic <typename T>
public ref class BufferBlock 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 BufferBlock<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 BufferBlock<'T> = class
    interface IPropagatorBlock<'T, 'T>
    interface ITargetBlock<'T>
    interface IDataflowBlock
    interface ISourceBlock<'T>
    interface IReceivableSourceBlock<'T>
type BufferBlock<'T> = class
    interface IDataflowBlock
    interface IPropagatorBlock<'T, 'T>
    interface ISourceBlock<'T>
    interface ITargetBlock<'T>
    interface IReceivableSourceBlock<'T>
Public NotInheritable Class BufferBlock(Of T)
Implements IPropagatorBlock(Of T, T), IReceivableSourceBlock(Of T), ISourceBlock(Of T), ITargetBlock(Of T)

Parametry typu

T

Určuje typ dat ve vyrovnávací paměti tímto blokem toku dat.

Dědičnost
BufferBlock<T>
Implementuje

Poznámky

Poznámka

Knihovna toku dat TPL (obor názvů) se s .NET nedistribuuje System.Threading.Tasks.Dataflow . Pokud chcete nainstalovat System.Threading.Tasks.Dataflow obor názvů v sadě Visual Studio, otevřete projekt, v nabídce Projekt zvolte Spravovat balíčky NuGet a vyhledejte balíček onlineSystem.Threading.Tasks.Dataflow. Pokud ho chcete nainstalovat pomocí rozhraní příkazového řádku .NET Core, spusťte příkaz dotnet add package System.Threading.Tasks.Dataflow.

Konstruktory

BufferBlock<T>()

Inicializuje nový BufferBlock<T>.

BufferBlock<T>(DataflowBlockOptions)

Inicializuje nový BufferBlock<T> se zadaným DataflowBlockOptionsparametrem .

Vlastnosti

Completion

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

Count

Získá počet položek aktuálně uložených ve vyrovnávací paměti.

Metody

Complete()

Signalizuje, IDataflowBlock že by neměl přijímat ani vytvářet žádné další zprávy ani přijímat další odložené zprávy.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

Slouží jako výchozí hashovací funkce.

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

Získá aktuální Type instanci.

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

Prováže parametr ISourceBlock<TOutput> se zadaným ITargetBlock<TInput>parametrem .

MemberwiseClone()

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

(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>.

TryReceiveAll(IList<T>)

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

Explicitní implementace rozhraní

IDataflowBlock.Fault(Exception)

Způsobí dokončení IDataflowBlock ve Faulted stavu.

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

Volá se propojeným ITargetBlock<TInput> uživatelem, který přijímá a využívá dříve nabízenou DataflowMessageHeader službu ISourceBlock<TOutput>.

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

Volá se odkazem ITargetBlock<TInput> na vydání dříve rezervovaného DataflowMessageHeader tímto ISourceBlock<TOutput>.

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

Volá propojený ITargetBlock<TInput> , aby si rezervoval dříve nabízený DataflowMessageHeader tento ISourceBlock<TOutput>.

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

Nabídne zprávu do objektu ITargetBlock<TInput>, který dává cíli příležitost zprávu spotřebovat nebo odložit.

Metody rozšíření

AsObservable<TOutput>(ISourceBlock<TOutput>)

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

AsObserver<TInput>(ITargetBlock<TInput>)

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

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

Prováže parametr ISourceBlock<TOutput> se zadaným ITargetBlock<TInput>parametrem .

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

Propojení s ISourceBlock<TOutput> zadaným ITargetBlock<TInput> filtrem.

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

Propojení s ISourceBlock<TOutput> zadaným ITargetBlock<TInput> filtrem.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

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

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

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

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

Publikuje položku do .ITargetBlock<TInput>

Receive<TOutput>(ISourceBlock<TOutput>)

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

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

Synchronně přijme hodnotu ze zadaného zdroje a poskytne token pro zrušení operace.

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

Synchronně přijímá hodnotu z zadaného zdroje a sleduje volitelné období časového limitu.

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

Synchronně přijímá hodnotu z zadaného zdroje, poskytuje token pro zrušení operace a sleduje volitelný interval časového limitu.

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

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

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

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

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

Asynchronně přijme hodnotu ze zadaného zdroje a poskytne token pro zrušení operace.

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

Asynchronně přijímá hodnotu z zadaného zdroje, přičemž sleduje volitelné období časového limitu.

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

Asynchronně obdrží hodnotu ze zadaného zdroje, poskytuje token pro zrušení operace a sleduje volitelný interval časového limitu.

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

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

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

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

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

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

Platí pro