BatchBlock<T> Classe

Definição

Fornece um bloco de fluxo de dados que agrupa em lotes entradas em matrizes.

generic <typename T>
public ref class BatchBlock sealed : System::Threading::Tasks::Dataflow::IPropagatorBlock<T, cli::array <T> ^>, System::Threading::Tasks::Dataflow::IReceivableSourceBlock<cli::array <T> ^>, System::Threading::Tasks::Dataflow::ISourceBlock<cli::array <T> ^>, System::Threading::Tasks::Dataflow::ITargetBlock<T>
public sealed class BatchBlock<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 BatchBlock<'T> = class
    interface IPropagatorBlock<'T, 'T[]>
    interface ITargetBlock<'T>
    interface IDataflowBlock
    interface ISourceBlock<'T[]>
    interface IReceivableSourceBlock<'T[]>
Public NotInheritable Class BatchBlock(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 colocados em lotes.

Herança
BatchBlock<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
BatchBlock<T>(Int32, GroupingDataflowBlockOptions)

Inicializa um novo BatchBlock<T> com o tamanho do lote especificado, a opção de declínio e as opções de bloco.

BatchBlock<T>(Int32)

Inicializa um novo BatchBlock<T> com o tamanho do lote especificado.

Propriedades

Nome Description
BatchSize

Obtém o tamanho dos lotes gerados por isso BatchBlock<T>.

Completion

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

OutputCount

Obtém o número de itens de saída disponíveis para serem recebidos desse bloco.

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.

TriggerBatch()

Dispara a BatchBlock<T> opção de iniciar uma operação de envio em lote mesmo se o número de itens atualmente enfileirados ou adiados for menor que o BatchSize.

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