Udostępnij za pośrednictwem


BufferBlock<T> Klasa

Definicja

Udostępnia bufor do przechowywania danych dla przepływu danych.

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

Określa typ danych buforowanych przez ten blok przepływu danych.

Dziedziczenie
BufferBlock<T>
Implementuje

Uwagi

Uwaga

Biblioteka przepływu danych TPL ( System.Threading.Tasks.Dataflow przestrzeń nazw) nie jest dystrybuowana za pomocą platformy .NET. Aby zainstalować System.Threading.Tasks.Dataflow przestrzeń nazw w programie Visual Studio, otwórz projekt, wybierz pozycję Zarządzaj pakietami NuGet z menu Project i wyszukaj pakiet w trybie online System.Threading.Tasks.Dataflow . Alternatywnie, aby zainstalować go przy użyciu interfejsu wiersza polecenia platformy .NET Core, uruchom polecenie dotnet add package System.Threading.Tasks.Dataflow.

Konstruktory

BufferBlock<T>()

Inicjuje nowy BufferBlock<T>element .

BufferBlock<T>(DataflowBlockOptions)

Inicjuje nowy BufferBlock<T> element o określonej wartości DataflowBlockOptions.

Właściwości

Completion

Pobiera element reprezentujący operację Task asynchroniczną i ukończenie bloku przepływu danych.

Count

Pobiera liczbę elementów przechowywanych obecnie w buforze.

Metody

Complete()

Sygnały do IDataflowBlock tego, że nie powinny akceptować ani tworzyć więcej komunikatów, ani nie zużywać żadnych bardziej odroczonych komunikatów.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
LinkTo(ITargetBlock<T>, DataflowLinkOptions)

Łączy element ISourceBlock<TOutput> z określonym ITargetBlock<TInput>elementem .

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący sformatowaną nazwę tego IDataflowBlock wystąpienia.

TryReceive(Predicate<T>, T)

Próbuje synchronicznie odebrać dostępny element wyjściowy z elementu IReceivableSourceBlock<TOutput>.

TryReceiveAll(IList<T>)

Próbuje synchronicznie odebrać wszystkie dostępne elementy z elementu IReceivableSourceBlock<TOutput>.

Jawne implementacje interfejsu

IDataflowBlock.Fault(Exception)

IDataflowBlock Powoduje ukończenie Faulted operacji w stanie.

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

Wywołana przez link ITargetBlock<TInput> do akceptowania i korzystania z wcześniej oferowanej przez tę ISourceBlock<TOutput>usługę DataflowMessageHeader .

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

Wywoływana przez połączony ITargetBlock<TInput> element z wydaniem wcześniej zastrzeżonym DataflowMessageHeader przez ten ISourceBlock<TOutput>element .

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

Wywoływana przez połączonego ITargetBlock<TInput> z rezerwą wcześniej oferowaną DataflowMessageHeader przez tę ISourceBlock<TOutput>usługę .

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

Oferuje komunikat do ITargetBlock<TInput>obiektu , dając docelową możliwość korzystania lub odroczenia wiadomości.

Metody rozszerzania

AsObservable<TOutput>(ISourceBlock<TOutput>)

Tworzy nową IObservable<T> abstrakcję nad elementem ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Tworzy nową IObserver<T> abstrakcję nad elementem ITargetBlock<TInput>.

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

Łączy element ISourceBlock<TOutput> z określonym ITargetBlock<TInput>elementem .

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

Łączy element ISourceBlock<TOutput> z określonym ITargetBlock<TInput> filtrem przy użyciu określonego filtru.

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

Łączy element ISourceBlock<TOutput> z określonym ITargetBlock<TInput> filtrem przy użyciu określonego filtru.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Task<TResult> Zapewnia, że asynchronicznie monitoruje źródło dostępnych danych wyjściowych.

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

Task<TResult> Zapewnia, że asynchronicznie monitoruje źródło dostępnych danych wyjściowych.

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

Publikuje element w elemencie ITargetBlock<TInput>.

Receive<TOutput>(ISourceBlock<TOutput>)

Synchronicznie odbiera wartość z określonego źródła.

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

Synchronicznie odbiera wartość z określonego źródła i udostępnia token do anulowania operacji.

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

Synchronicznie odbiera wartość z określonego źródła, obserwując opcjonalny okres przekroczenia limitu czasu.

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

Synchronicznie odbiera wartość z określonego źródła, zapewniając token umożliwiający anulowanie operacji i obserwowanie opcjonalnego interwału przekroczenia limitu czasu.

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

Tworzy obiekt IAsyncEnumerable<T> , który umożliwia odbieranie wszystkich danych ze źródła.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Asynchronicznie odbiera wartość z określonego źródła.

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

Asynchronicznie odbiera wartość z określonego źródła i udostępnia token do anulowania operacji.

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

Asynchronicznie odbiera wartość z określonego źródła, obserwując opcjonalny okres przekroczenia limitu czasu.

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

Asynchronicznie odbiera wartość z określonego źródła, zapewniając token umożliwiający anulowanie operacji i obserwowanie opcjonalnego interwału przekroczenia limitu czasu.

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

Asynchronicznie oferuje komunikat do docelowego bloku komunikatów, co pozwala na odroczenie.

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

Asynchronicznie oferuje komunikat do docelowego bloku komunikatów, co pozwala na odroczenie.

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

Próbuje synchronicznie odebrać element z elementu ISourceBlock<TOutput>.

Dotyczy