BufferBlock<T> Classe

Definição

Fornece um buffer para armazenar dados para um fluxo de dados.

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>
Public NotInheritable Class BufferBlock(Of T)
Implements IPropagatorBlock(Of T, T), IReceivableSourceBlock(Of T), ISourceBlock(Of T), ITargetBlock(Of T)

Parâmetros de tipo

T

Especifica o tipo de dados armazenados em buffer por esse bloco de fluxo de dados.

Herança
BufferBlock<T>
Implementações

Comentários

Note

A Biblioteca de Fluxo de Dados TPL (o namespace System.Threading.Tasks.Dataflow) não é distribuída com .NET. Para instalar o namespace System.Threading.Tasks.Dataflow no Visual Studio, abra seu projeto, escolha Gerenciar Pacotes NuGet no menu do Projeto e pesquise online o pacote System.Threading.Tasks.Dataflow. Como alternativa, instale-o usando a CLI do .NET Core e execute dotnet add package System.Threading.Tasks.Dataflow.

Construtores

Nome Description
BufferBlock<T>()

Inicializa um novo BufferBlock<T>.

BufferBlock<T>(DataflowBlockOptions)

Inicializa um novo BufferBlock<T> com o especificado DataflowBlockOptions.

Propriedades

Nome Description
Completion

Obtém um Task que representa a operação assíncrona e a conclusão do bloco de fluxo de dados.

Count

Obtém o número de itens armazenados no buffer no momento.

Métodos

Nome Description
Complete()

Sinaliza para IDataflowBlock que ele não deve aceitar nem produzir mais mensagens nem consumir mais mensagens adiadas.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LinkTo(ITargetBlock<T>, DataflowLinkOptions)

Vincula o ISourceBlock<TOutput> link para o especificado ITargetBlock<TInput>.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o nome formatado dessa IDataflowBlock instância.

TryReceive(Predicate<T>, T)

Tenta receber de forma síncrona um item de saída disponível do IReceivableSourceBlock<TOutput>.

TryReceiveAll(IList<T>)

Tenta receber síncronamente todos os itens disponíveis do IReceivableSourceBlock<TOutput>.

Implantações explícitas de interface

Nome Description
IDataflowBlock.Fault(Exception)

Faz com que a IDataflowBlock conclusão seja concluída em um Faulted estado.

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

Chamado por um vinculado ITargetBlock<TInput> para aceitar e consumir um DataflowMessageHeader oferecido anteriormente por isso ISourceBlock<TOutput>.

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

Chamado por um vinculado ITargetBlock<TInput> para liberar um anteriormente reservado DataflowMessageHeader por este ISourceBlock<TOutput>.

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

Chamado por um vinculado ITargetBlock<TInput> para reservar um oferecido DataflowMessageHeader anteriormente por isso ISourceBlock<TOutput>.

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

Oferece uma mensagem para o ITargetBlock<TInput>destino, dando ao destino a oportunidade de consumir ou adiar a mensagem.

Métodos de Extensão

Nome Description
AsObservable<TOutput>(ISourceBlock<TOutput>)

Cria uma nova IObservable<T> abstração sobre o ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Cria uma nova IObserver<T> abstração sobre o ITargetBlock<TInput>.

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

Vincula o ISourceBlock<TOutput> arquivo ao especificado ITargetBlock<TInput> usando o filtro especificado.

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

Vincula o ISourceBlock<TOutput> arquivo ao especificado ITargetBlock<TInput> usando o filtro especificado.

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

Vincula o ISourceBlock<TOutput> link para o especificado ITargetBlock<TInput>.

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

Fornece um Task<TResult> que monitora assíncronamente a origem da saída disponível.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Fornece um Task<TResult> que monitora assíncronamente a origem da saída disponível.

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

Posta um item no ITargetBlock<TInput>.

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

Recebe de forma síncrona um valor de uma origem especificada e fornece um token para cancelar a operação.

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

Recebe de forma síncrona um valor de uma origem especificada, fornecendo um token para cancelar a operação e observando um intervalo de tempo limite opcional.

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

Recebe de forma síncrona um valor de uma origem especificada, observando um período de tempo limite opcional.

Receive<TOutput>(ISourceBlock<TOutput>)

Recebe de forma síncrona um valor de uma origem especificada.

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

Recebe de forma assíncrona um valor de uma origem especificada e fornece um token para cancelar a operação.

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

Recebe de forma assíncrona um valor de uma origem especificada, fornecendo um token para cancelar a operação e observando um intervalo de tempo limite opcional.

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

Recebe de forma assíncrona um valor de uma origem especificada, observando um período de tempo limite opcional.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Recebe de forma assíncrona um valor de uma origem especificada.

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

Oferece de forma assíncrona uma mensagem para o bloco de mensagens de destino, permitindo o adiamento.

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

Oferece de forma assíncrona uma mensagem para o bloco de mensagens de destino, permitindo o adiamento.

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

Tenta receber um item de forma síncrona do ISourceBlock<TOutput>.

Aplica-se a