Compartilhar via


IPropagatorBlock<TInput,TOutput> Interface

Definição

Representa um bloco de fluxo de dados que é um destino para dados e uma origem de dados.

generic <typename TInput, typename TOutput>
public interface class IPropagatorBlock : System::Threading::Tasks::Dataflow::ISourceBlock<TOutput>, System::Threading::Tasks::Dataflow::ITargetBlock<TInput>
public interface IPropagatorBlock<in TInput,out TOutput> : System.Threading.Tasks.Dataflow.ISourceBlock<out TOutput>, System.Threading.Tasks.Dataflow.ITargetBlock<in TInput>
type IPropagatorBlock<'Input, 'Output> = interface
    interface ITargetBlock<'Input>
    interface IDataflowBlock
    interface ISourceBlock<'Output>
type IPropagatorBlock<'Input, 'Output> = interface
    interface IDataflowBlock
    interface ISourceBlock<'Output>
    interface ITargetBlock<'Input>
Public Interface IPropagatorBlock(Of In TInput, Out TOutput)
Implements ISourceBlock(Of Out TOutput), ITargetBlock(Of In TInput)

Parâmetros de tipo

TInput

Especifica o tipo de dados aceitos pelo IPropagatorBlock<TInput,TOutput>.

Este parâmetro de tipo é contravariante. Isso significa que é possível usar o tipo especificado ou qualquer tipo menos derivado. Para obter mais informações sobre covariância e contravariância, consulte Covariância e contravariância em genéricos.
TOutput

Especifica o tipo de dados fornecidos pelo IPropagatorBlock<TInput,TOutput>.

Este parâmetro de tipo é covariante. Isso significa que é possível usar o tipo especificado ou qualquer tipo mais derivado. Para obter mais informações sobre covariância e contravariância, consulte Covariância e contravariância em genéricos.
Derivado
Implementações

Comentários

Observação

A Biblioteca de Fluxo de Dados TPL (o namespace System.Threading.Tasks.Dataflow) não é distribuída com o .NET. Para instalar o namespace System.Threading.Tasks.Dataflow no Visual Studio, abra o projeto, escolha Gerenciar Pacotes NuGet no menu 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.

Propriedades

Completion

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

(Herdado de IDataflowBlock)

Métodos

Complete()

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

(Herdado de IDataflowBlock)
ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)

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

(Herdado de ISourceBlock<TOutput>)
Fault(Exception)

Faz com que o IDataflowBlock seja concluído em um estado Faulted.

(Herdado de IDataflowBlock)
LinkTo(ITargetBlock<TOutput>, DataflowLinkOptions)

Vincula o ISourceBlock<TOutput> ao especificado ITargetBlock<TInput>.

(Herdado de ISourceBlock<TOutput>)
OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)

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

(Herdado de ITargetBlock<TInput>)
ReleaseReservation(DataflowMessageHeader, ITargetBlock<TOutput>)

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

(Herdado de ISourceBlock<TOutput>)
ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>)

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

(Herdado de ISourceBlock<TOutput>)

Métodos de Extensão

AsObservable<TOutput>(ISourceBlock<TOutput>)

Cria uma nova abstração IObservable<T> em relação a ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Cria uma nova abstração IObserver<T> em relação a ITargetBlock<TInput>.

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

Vincula o ISourceBlock<TOutput> ao especificado ITargetBlock<TInput>.

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

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

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

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

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Fornece um Task<TResult> que monitora assincronamente a saída disponível na fonte.

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

Fornece um Task<TResult> que monitora assincronamente a saída disponível na fonte.

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

Adiciona um item ao ITargetBlock<TInput>.

Receive<TOutput>(ISourceBlock<TOutput>)

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

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)

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

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

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

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Recebe assincronamente um valor de uma origem especificada.

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

Recebe assincronamente um valor de uma origem especificada e fornece um token para cancelar a operação.

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

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

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

Recebe assincronamente um valor de uma fonte especificada, fornecendo um token para cancelar a operação e observando um intervalo de tempo limite opcional.

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

Oferece assincronamente uma mensagem para o bloco de mensagens de destino, permitindo adiamento.

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

Oferece assincronamente uma mensagem para o bloco de mensagens de destino, permitindo adiamento.

Aplica-se a