BufferBlock<T> Klasse

Definition

Stellt einen Puffer zum Speichern von Daten für einen Datenfluss 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 an, die von diesem Datenflussblock gepuffert werden.

Vererbung
BufferBlock<T>
Implementiert

Hinweise

Note

Die TPL Dataflow Library (der System.Threading.Tasks.Dataflow Namespace) wird nicht mit .NET verteilt. Um den System.Threading.Tasks.Dataflow Namespace in Visual Studio zu installieren, öffnen Sie Ihr Projekt, wählen Sie "NuGet-Pakete verwalten " im Menü "Projekt " aus, und suchen Sie online nach dem System.Threading.Tasks.Dataflow Paket. Führen Sie alternativ das .NET Core CLI aus, um es zu installieren, indem Sie dotnet add package System.Threading.Tasks.Dataflow ausführen.

Konstruktoren

Name Beschreibung
BufferBlock<T>()

Initialisiert ein neues BufferBlock<T>.

BufferBlock<T>(DataflowBlockOptions)

Initialisiert ein neues BufferBlock<T> mit dem angegebenen DataflowBlockOptions.

Eigenschaften

Name Beschreibung
Completion

Ruft einen Task , der den asynchronen Vorgang und den Abschluss des Datenflussblocks darstellt.

Count

Ruft die Anzahl der elemente ab, die derzeit im Puffer gespeichert sind.

Methoden

Name Beschreibung
Complete()

Signalisiert, IDataflowBlock dass sie weder mehr Nachrichten akzeptieren noch mehr nachrichten produzieren sollte, noch mehr verschobene Nachrichten verbrauchen.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

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

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

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

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

TryReceive(Predicate<T>, T)

Versucht, synchron ein verfügbares Ausgabeelement von der IReceivableSourceBlock<TOutput>.

TryReceiveAll(IList<T>)

Versucht, alle verfügbaren Elemente synchron von der IReceivableSourceBlock<TOutput>.

Explizite Schnittstellenimplementierungen

Name Beschreibung
IDataflowBlock.Fault(Exception)

Bewirkt, dass der IDataflowBlock Vorgang in einem Faulted Zustand abgeschlossen ist.

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

Wird von einer verknüpften aufgerufen ITargetBlock<TInput> , um eine DataflowMessageHeader zuvor angebotene ISourceBlock<TOutput>Nutzung zu akzeptieren und zu nutzen.

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

Wird von einem Verknüpften ITargetBlock<TInput> aufgerufen, um eine zuvor reservierte DataflowMessageHeader Version dieses ISourceBlock<TOutput>Vorgangs freizugeben.

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

Aufgerufen von einem verknüpften ITargetBlock<TInput> , um ein zuvor angebotenes DataflowMessageHeader Angebot zu ISourceBlock<TOutput>reservieren.

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

Bietet dem Ziel die ITargetBlock<TInput>Möglichkeit, die Nachricht zu nutzen oder zu verschieben.

Erweiterungsmethoden

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

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

AsObserver<TInput>(ITargetBlock<TInput>)

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

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

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

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

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

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

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

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

Stellt eine Bereit Task<TResult> , die die Quelle asynchron auf die verfügbare Ausgabe überwacht.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Stellt eine Bereit Task<TResult> , die die Quelle asynchron auf die verfügbare Ausgabe überwacht.

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

Stellt ein Element in das ITargetBlock<TInput>.

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

Empfängt synchron einen Wert aus einer angegebenen Quelle und stellt ein Token zum Abbrechen des Vorgangs bereit.

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

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

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

Empfängt synchron einen Wert aus einer angegebenen Quelle, wobei ein optionaler Timeoutzeitraum beobachtet wird.

Receive<TOutput>(ISourceBlock<TOutput>)

Empfängt synchron einen Wert aus einer angegebenen Quelle.

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

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

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

Empfängt asynchron einen Wert aus einer angegebenen Quelle und stellt ein Token zum Abbrechen des Vorgangs bereit.

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

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

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

Empfängt asynchron einen Wert aus einer angegebenen Quelle, wobei ein optionaler Timeoutzeitraum beobachtet wird.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Empfängt asynchron einen Wert aus einer angegebenen Quelle.

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

Bietet asynchron eine Nachricht an den Zielnachrichtenblock, sodass eine Verschiebung möglich ist.

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

Bietet asynchron eine Nachricht an den Zielnachrichtenblock, sodass eine Verschiebung möglich ist.

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

Versucht, ein Element synchron von der ISourceBlock<TOutput>.

Gilt für: