Bagikan melalui


BufferBlock<T> Kelas

Definisi

Menyediakan buffer untuk menyimpan data untuk Aliran Data.

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)

Jenis parameter

T

Menentukan jenis data yang di-buffer oleh blok aliran data ini.

Warisan
BufferBlock<T>
Penerapan

Keterangan

Catatan

Pustaka Aliran Data TPL (namespace layanan System.Threading.Tasks.Dataflow) tidak didistribusikan dengan .NET. Untuk menginstal namespace layanan System.Threading.Tasks.Dataflow di Visual Studio, buka proyek, pilih Kelola Paket NuGet dari menu Proyek, dan cari paket System.Threading.Tasks.Dataflow secara online. Atau, untuk menginstalnya menggunakan .NET Core CLI, jalankan dotnet add package System.Threading.Tasks.Dataflow.

Konstruktor

BufferBlock<T>()

Menginisialisasi baru BufferBlock<T>.

BufferBlock<T>(DataflowBlockOptions)

Menginisialisasi baru BufferBlock<T> dengan yang ditentukan DataflowBlockOptions.

Properti

Completion

Task Mendapatkan yang mewakili operasi asinkron dan penyelesaian blok aliran data.

Count

Mendapatkan jumlah item yang saat ini disimpan dalam buffer.

Metode

Complete()

Sinyal kepada IDataflowBlock yang seharusnya tidak diterima atau menghasilkan pesan lagi atau mengkonsumsi pesan yang ditunda lagi.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
LinkTo(ITargetBlock<T>, DataflowLinkOptions)

Menautkan ISourceBlock<TOutput> ke yang ditentukan ITargetBlock<TInput>.

MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili nama yang diformat dari instans ini IDataflowBlock .

TryReceive(Predicate<T>, T)

Mencoba untuk secara sinkron menerima item output yang tersedia dari IReceivableSourceBlock<TOutput>.

TryReceiveAll(IList<T>)

Mencoba untuk secara sinkron menerima semua item yang IReceivableSourceBlock<TOutput>tersedia dari .

Implementasi Antarmuka Eksplisit

IDataflowBlock.Fault(Exception)

IDataflowBlock Menyebabkan selesai dalam keadaanFaulted.

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

Dipanggil oleh yang ditautkan ITargetBlock<TInput> untuk menerima dan menggunakan yang DataflowMessageHeader sebelumnya ditawarkan oleh ini ISourceBlock<TOutput>.

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

Dipanggil oleh yang ditautkan ITargetBlock<TInput> untuk merilis yang sebelumnya dicadangkan DataflowMessageHeader oleh ini ISourceBlock<TOutput>.

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

Dipanggil oleh yang ditautkan ITargetBlock<TInput> untuk memesan yang sebelumnya ditawarkan DataflowMessageHeader oleh ini ISourceBlock<TOutput>.

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

Menawarkan pesan ke ITargetBlock<TInput>, memberikan target kesempatan untuk mengonsumsi atau menunda pesan.

Metode Ekstensi

AsObservable<TOutput>(ISourceBlock<TOutput>)

Membuat abstraksi baru IObservable<T> melalui ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Membuat abstraksi baru IObserver<T> melalui ITargetBlock<TInput>.

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

Menautkan ISourceBlock<TOutput> ke yang ditentukan ITargetBlock<TInput>.

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

Menautkan ISourceBlock<TOutput> ke yang ditentukan ITargetBlock<TInput> menggunakan filter yang ditentukan.

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

Menautkan ISourceBlock<TOutput> ke yang ditentukan ITargetBlock<TInput> menggunakan filter yang ditentukan.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Menyediakan yang secara asinkron memantau sumber untuk output yang Task<TResult> tersedia.

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

Menyediakan yang secara asinkron memantau sumber untuk output yang Task<TResult> tersedia.

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

Memposting item ke ITargetBlock<TInput>.

Receive<TOutput>(ISourceBlock<TOutput>)

Secara sinkron menerima nilai dari sumber tertentu.

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

Secara sinkron menerima nilai dari sumber tertentu dan menyediakan token untuk membatalkan operasi.

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

Secara sinkron menerima nilai dari sumber tertentu, mengamati periode waktu habis opsional.

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

Secara sinkron menerima nilai dari sumber tertentu, menyediakan token untuk membatalkan operasi dan mengamati interval waktu habis opsional.

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

Membuat yang IAsyncEnumerable<T> memungkinkan penerimaan semua data dari sumbernya.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Secara asinkron menerima nilai dari sumber tertentu.

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

Secara asinkron menerima nilai dari sumber tertentu dan menyediakan token untuk membatalkan operasi.

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

Secara asinkron menerima nilai dari sumber tertentu, mengamati periode waktu habis opsional.

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

Secara asinkron menerima nilai dari sumber tertentu, menyediakan token untuk membatalkan operasi dan mengamati interval waktu habis opsional.

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

Secara asinkron menawarkan pesan ke blok pesan target, memungkinkan penundaan.

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

Secara asinkron menawarkan pesan ke blok pesan target, memungkinkan penundaan.

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

Mencoba untuk menerima item secara sinkron dari ISourceBlock<TOutput>.

Berlaku untuk