Freigeben über


BufferBlock<T> Klasse

Definition

Stellt einen Puffer zum Speichern von Daten für einen Dataflow bereit.

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)

Typparameter

T

Gibt den Typ der Daten, die von diesen Datenflussblock gepuffert werden.

Vererbung
BufferBlock<T>
Implementiert

Hinweise

Hinweis

Die TPL-Datenflussbibliothek (System.Threading.Tasks.Dataflow-Namespace) wird nicht mit .NET ausgeliefert. Öffnen Sie zum Installieren des System.Threading.Tasks.Dataflow-Namespace in Visual Studio Ihr Projekt, wählen Sie im Menü Projekt die Option NuGet-Pakete verwalten aus, und suchen Sie online nach dem System.Threading.Tasks.Dataflow-Paket. Alternativ können Sie es mithilfe der .NET Core-CLI installieren und dazu dotnet add package System.Threading.Tasks.Dataflow ausführen.

Konstruktoren

BufferBlock<T>()

Initialisiert eine neue BufferBlock<T>.

BufferBlock<T>(DataflowBlockOptions)

Initialisiert eine neue BufferBlock<T> mit dem angegebenen DataflowBlockOptions.

Eigenschaften

Completion

Ruft ein Task ab, das den asynchronen Vorgang und die Beendigung des Datenflussblocks darstellt.

Count

Ruft die aktuelle Anzahl der Elemente ab, die momentan im Puffer gespeichert sind.

Methoden

Complete()

Signalisiert IDataflowBlock, dass es keine Nachrichten mehr akzeptieren und keine produzieren und keine weiteren zurückgestellten Nachrichten verarbeiten soll.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
LinkTo(ITargetBlock<T>, DataflowLinkOptions)

Verknüpft den mit ISourceBlock<TOutput> dem angegebenen ITargetBlock<TInput>.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die den formatierten Namen dieser IDataflowBlock-Instanz darstellt.

TryReceive(Predicate<T>, T)

Versucht, ein verfügbares Output-Element vonIReceivableSourceBlock<TOutput> synchron zu empfangen.

TryReceiveAll(IList<T>)

Versucht, alle verfügbaren Elemente aus IReceivableSourceBlock<TOutput> synchron zu empfangen.

Explizite Schnittstellenimplementierungen

IDataflowBlock.Fault(Exception)

Bewirkt, IDataflowBlock in einem Faulted Zustand auszuführen.

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

Wird von verknüpften ITargetBlock<TInput> aufgerufen, um einen DataflowMessageHeader zu akzeptieren und verarbeiten, die zuvor durch dieses ISourceBlock<TOutput> angeboten werden.

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

Wird von einem verknüpften ITargetBlock<TInput>, um einen DataflowMessageHeader, der von diesem ISourceBlock<TOutput> zuvor reserviert wurde, freizugeben.

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

Wird von einem verknüpften ITargetBlock<TInput>, um einen DataflowMessageHeader, der von diesem ISourceBlock<TOutput> zuvor angeboten wurde, zu reservieren.

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

Bietet eine Meldung für ITargetBlock<TInput> an und gibt dem Ziel die Möglichkeit, die Nachricht zu verarbeiten oder zurückzustellen.

Erweiterungsmethoden

AsObservable<TOutput>(ISourceBlock<TOutput>)

Erstellt eine neue IObservable<T> Abstraktion über ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Erstellt eine neue IObserver<T> Abstraktion über ITargetBlock<TInput>.

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

Verknüpft den mit ISourceBlock<TOutput> dem angegebenen ITargetBlock<TInput>.

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

Verknüpft den ISourceBlock<TOutput> mit dem angegebenen Filter mit dem angegebenen ITargetBlock<TInput> .

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

Verknüpft den ISourceBlock<TOutput> mit dem angegebenen Filter mit dem angegebenen ITargetBlock<TInput> .

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Stellt eine Task<TResult> bereit, die asynchron die Quelle für verfügbare Ausgabe überwacht.

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

Stellt eine Task<TResult> bereit, die asynchron die Quelle für verfügbare Ausgabe überwacht.

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

Fügt dem ITargetBlock<TInput> ein Element hinzu.

Receive<TOutput>(ISourceBlock<TOutput>)

Empfängt synchron einen Wert aus der angegebenen Quelle.

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

Erhält synchron einen Wert aus einer angegebenen Quelle und stellt ein Token bereit, um die Operation abzubrechen.

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

Empfängt synchron einen Wert aus einer angegebenen Quelle und beachtet ein optionales Timeout.

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

Empfängt synchron einen Wert aus einer angegebenen Quelle, stellt ein Token bereit, um den Vorgang abzubrechen und beachtet ein optionales Timeoutintervall.

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

Erstellt eine IAsyncEnumerable<T> , die den Empfang aller Daten aus der Quelle ermöglicht.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Empfängt asynchron einen Wert aus der angegebenen Quelle.

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

Erhält asynchron einen Wert aus einer angegebenen Quelle und stellt ein Token bereit, um die Operation abzubrechen.

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

Empfängt asynchron einen Wert aus einer angegebenen Quelle und beachtet ein optionales Timeout.

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

Empfängt asynchron einen Wert aus einer angegebenen Quelle, stellt ein Token bereit, um den Vorgang abzubrechen und beachtet ein optionales Timeoutintervall.

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

Gewährt dem Zielmeldungsblock asynchron eine Meldung an und ermöglicht einen Aufschub.

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

Gewährt dem Zielmeldungsblock asynchron eine Meldung an und ermöglicht einen Aufschub.

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

Versucht, ein Element von ISourceBlock<TOutput> synchron zu empfangen.

Gilt für: