BufferBlock<T> Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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>. |