IPropagatorBlock<TInput,TOutput> Interfaz

Definición

Representa un bloque de flujo de datos que es un destino para los datos y un origen de datos.

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>
Public Interface IPropagatorBlock(Of In TInput, Out TOutput)
Implements ISourceBlock(Of Out TOutput), ITargetBlock(Of In TInput)

Parámetros de tipo

TInput

Especifica el tipo de datos aceptados por .IPropagatorBlock<TInput,TOutput>

Este parámetro de tipo es contravariante, es decir, puede usar el tipo que haya especificado o cualquier tipo menos derivado. Si desea obtener más información sobre la covarianza y la contravarianza, consulte Covarianza y contravarianza en genéricos.
TOutput

Especifica el tipo de datos proporcionados por .IPropagatorBlock<TInput,TOutput>

Este parámetro de tipo es covariante, es decir, puede usar el tipo que haya especificado o cualquier tipo más derivado. Si desea obtener más información sobre la covarianza y la contravarianza, consulte Covarianza y contravarianza en genéricos.
Derivado
Implementaciones

Comentarios

Note

La biblioteca TPL Dataflow (el espacio de nombres System.Threading.Tasks.Dataflow) no se distribuye con .NET. Para instalar el System.Threading.Tasks.Dataflow espacio de nombres en Visual Studio, abra su proyecto, elija Administrar paquetes NuGet en el menú Proyecto y busque en línea el paquete System.Threading.Tasks.Dataflow. Como otra opción, para instalarlo mediante la CLI de .NET Core, ejecute dotnet add package System.Threading.Tasks.Dataflow.

Propiedades

Nombre Description
Completion

Obtiene un Task objeto que representa la operación asincrónica y la finalización del bloque de flujo de datos.

(Heredado de IDataflowBlock)

Métodos

Nombre Description
Complete()

Señala a que IDataflowBlock no debe aceptar ni producir más mensajes ni consumir más mensajes pospuestos.

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

Llamado por un vinculado ITargetBlock<TInput> para aceptar y consumir un DataflowMessageHeader objeto previamente ofrecido por este ISourceBlock<TOutput>.

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

Hace que se IDataflowBlock complete en un Faulted estado .

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

Vincula al ISourceBlock<TOutput> objeto especificado ITargetBlock<TInput>.

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

Ofrece un mensaje a , ITargetBlock<TInput>lo que proporciona al destino la oportunidad de consumir o posponer el mensaje.

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

Llamado por un vinculado ITargetBlock<TInput> para liberar un objeto reservado DataflowMessageHeader previamente por este ISourceBlock<TOutput>.

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

Llamado por un vinculado ITargetBlock<TInput> para reservar un objeto ofrecido DataflowMessageHeader anteriormente por este ISourceBlock<TOutput>.

(Heredado de ISourceBlock<TOutput>)

Métodos de extensión

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

Crea una nueva IObservable<T> abstracción sobre .ISourceBlock<TOutput>

AsObserver<TInput>(ITargetBlock<TInput>)

Crea una nueva IObserver<T> abstracción sobre .ITargetBlock<TInput>

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

ISourceBlock<TOutput> Vincula al especificado ITargetBlock<TInput> mediante el filtro especificado.

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

ISourceBlock<TOutput> Vincula al especificado ITargetBlock<TInput> mediante el filtro especificado.

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

Vincula al ISourceBlock<TOutput> objeto especificado ITargetBlock<TInput>.

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

Proporciona un objeto Task<TResult> que supervisa de forma asincrónica el origen de la salida disponible.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Proporciona un objeto Task<TResult> que supervisa de forma asincrónica el origen de la salida disponible.

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

Publica un elemento en .ITargetBlock<TInput>

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

Recibe sincrónicamente un valor de un origen especificado y proporciona un token para cancelar la operación.

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

Recibe sincrónicamente un valor de un origen especificado, proporcionando un token para cancelar la operación y observar un intervalo de tiempo de espera opcional.

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

Recibe sincrónicamente un valor de un origen especificado, observando un período de tiempo de espera opcional.

Receive<TOutput>(ISourceBlock<TOutput>)

Recibe sincrónicamente un valor de un origen especificado.

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

Recibe de forma asincrónica un valor de un origen especificado y proporciona un token para cancelar la operación.

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

Recibe de forma asincrónica un valor de un origen especificado, lo que proporciona un token para cancelar la operación y observar un intervalo de tiempo de espera opcional.

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

Recibe de forma asincrónica un valor de un origen especificado, observando un período de tiempo de espera opcional.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Recibe de forma asincrónica un valor de un origen especificado.

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

Ofrece de forma asincrónica un mensaje al bloque de mensajes de destino, lo que permite posponer.

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

Ofrece de forma asincrónica un mensaje al bloque de mensajes de destino, lo que permite posponer.

Se aplica a