BroadcastBlock<T> Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona un búfer para almacenar a lo sumo un elemento cada vez, sobrescribiendo cada mensaje con el siguiente a medida que llegan.
generic <typename T>
public ref class BroadcastBlock 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 BroadcastBlock<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 BroadcastBlock<'T> = class
interface IPropagatorBlock<'T, 'T>
interface ITargetBlock<'T>
interface IDataflowBlock
interface ISourceBlock<'T>
interface IReceivableSourceBlock<'T>
type BroadcastBlock<'T> = class
interface IDataflowBlock
interface IPropagatorBlock<'T, 'T>
interface ISourceBlock<'T>
interface ITargetBlock<'T>
interface IReceivableSourceBlock<'T>
Public NotInheritable Class BroadcastBlock(Of T)
Implements IPropagatorBlock(Of T, T), IReceivableSourceBlock(Of T), ISourceBlock(Of T), ITargetBlock(Of T)
Parámetros de tipo
- T
Especifica el tipo de los datos almacenados en el búfer por este bloque de flujo de datos.
- Herencia
-
BroadcastBlock<T>
- Implementaciones
Comentarios
Nota
La biblioteca de flujos de datos TPL (el espacio de nombres System.Threading.Tasks.Dataflow) no se distribuye con .NET. Para instalar el espacio de nombres System.Threading.Tasks.Dataflow en Visual Studio, abra el proyecto, seleccione Administrar paquetes NuGet en el menú Proyecto y busque en línea el paquete System.Threading.Tasks.Dataflow
. Como alternativa, para realizar la instalación con la CLI de .Net Core, ejecute dotnet add package System.Threading.Tasks.Dataflow
.
BroadcastBlock<T> expone como máximo un elemento a la vez. Sin embargo, a diferencia WriteOnceBlock<T>de , ese elemento se sobrescribirá a medida que se proporcionan nuevos elementos al bloque . BroadcastBlock<T> garantiza que el elemento actual se difunda a cualquier destino vinculado antes de permitir que se sobrescriba el elemento.
Constructores
BroadcastBlock<T>(Func<T,T>) |
Inicializa la instancia BroadcastBlock<T> con la función de clonación especificada. |
BroadcastBlock<T>(Func<T,T>, DataflowBlockOptions) |
Inicializa BroadcastBlock<T> con la función de clonación especificada y DataflowBlockOptions. |
Propiedades
Completion |
Obtiene un objeto Task que representa la operación asincrónica y la finalización del bloque de flujo de datos. |
Métodos
Complete() |
Señala a IDataflowBlock que no debe aceptar ni mostrar más mensajes ni usar más mensajes pospuestos. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
LinkTo(ITargetBlock<T>, DataflowLinkOptions) |
Vincula al ISourceBlock<TOutput> objeto especificado ITargetBlock<TInput>. |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el nombre con formato de esta instancia de IDataflowBlock. |
TryReceive(Predicate<T>, T) |
Intentos de recibir sincrónicamente un elemento de salida disponible de IReceivableSourceBlock<TOutput>. |
Implementaciones de interfaz explícitas
Métodos de extensión
AsObservable<TOutput>(ISourceBlock<TOutput>) |
Crea una nueva abstracción de la interfaz IObservable<T> sobre la interfaz ISourceBlock<TOutput>. |
AsObserver<TInput>(ITargetBlock<TInput>) |
Crea una nueva abstracción de la interfaz IObserver<T> sobre la interfaz ITargetBlock<TInput>. |
LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>) |
Vincula al ISourceBlock<TOutput> objeto especificado ITargetBlock<TInput>. |
LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, Predicate<TOutput>) |
Vincula al ISourceBlock<TOutput> objeto especificado ITargetBlock<TInput> mediante el filtro especificado. |
LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, DataflowLinkOptions, Predicate<TOutput>) |
Vincula al ISourceBlock<TOutput> objeto especificado ITargetBlock<TInput> mediante el filtro especificado. |
OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>) |
Proporciona un objeto Task<TResult> que supervisa de forma asincrónica el origen de salida disponible. |
OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Proporciona un objeto Task<TResult> que supervisa de forma asincrónica el origen de salida disponible. |
Post<TInput>(ITargetBlock<TInput>, TInput) |
Publica un elemento a ITargetBlock<TInput>. |
Receive<TOutput>(ISourceBlock<TOutput>) |
Recibe de forma sincrónica un valor de un origen especificado. |
Receive<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
De forma sincrónica recibe un valor de un origen especificado y proporciona un token para cancelar la operación. |
Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan) |
De forma sincrónica recibe un valor de un origen especificado, observando un tiempo de espera opcional. |
Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken) |
De forma sincrónica recibe un valor de un origen especificado, proporcionando un token para cancelar la operación y observando un intervalo de tiempo de espera opcional. |
ReceiveAllAsync<TOutput>(IReceivableSourceBlock<TOutput>, CancellationToken) |
Crea un objeto IAsyncEnumerable<T> que permite recibir todos los datos del origen. |
ReceiveAsync<TOutput>(ISourceBlock<TOutput>) |
Recibe de forma asincrónica un valor de un origen especificado. |
ReceiveAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
De forma asincrónica recibe un valor de un origen especificado y proporciona un token para cancelar la operación. |
ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan) |
De forma asincrónica recibe un valor de un origen especificado, observando un tiempo de espera opcional. |
ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken) |
De forma asincrónica recibe un valor de un origen especificado, proporcionando un símbolo para anular la operación y observando un intervalo de tiempo de espera opcional. |
SendAsync<TInput>(ITargetBlock<TInput>, TInput) |
De forma asincrónica proporciona un mensaje al bloque de mensajes de destino, teniendo en cuenta el aplazamiento. |
SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken) |
De forma asincrónica proporciona un mensaje al bloque de mensajes de destino, teniendo en cuenta el aplazamiento. |
TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput) |
Se intenta recibir sincrónicamente un elemento de ISourceBlock<TOutput>. |