BroadcastBlock<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 no máximo um elemento de cada vez, substituindo cada mensagem pela seguinte à medida que elas chegam.
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 o tipo de dados armazenados em buffer por esse bloco de fluxo de dados.
- Herança
-
BroadcastBlock<T>
- 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
.
BroadcastBlock<T> expõe no máximo um elemento por vez. No entanto, ao contrário WriteOnceBlock<T>, esse elemento será substituído à medida que novos elementos forem fornecidos ao bloco. BroadcastBlock<T> garante que o elemento atual seja transmitido para quaisquer destinos vinculados antes de permitir que o elemento seja substituído.
Construtores
BroadcastBlock<T>(Func<T,T>) |
Inicializa o BroadcastBlock<T> com a função de clonagem especificada. |
BroadcastBlock<T>(Func<T,T>, DataflowBlockOptions) |
Inicializa o BroadcastBlock<T> com a função de clonagem especificada e DataflowBlockOptions. |
Propriedades
Completion |
Obtém um Task que representa a operação assíncrona e a conclusão do bloco de fluxo de dados. |
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. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
LinkTo(ITargetBlock<T>, DataflowLinkOptions) |
Vincula o ISourceBlock<TOutput> ao ITargetBlock<TInput> especificado. |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o nome formatado desta instância IDataflowBlock. |
TryReceive(Predicate<T>, T) |
Tentativas de receber assincronamente um item de saída disponível do IReceivableSourceBlock<TOutput>. |
Implantações explícitas de interface
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 ITargetBlock<TInput> especificado. |
LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, Predicate<TOutput>) |
Vincula o ISourceBlock<TOutput> ao ITargetBlock<TInput> especificado usando o filtro indicado. |
LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, DataflowLinkOptions, Predicate<TOutput>) |
Vincula o ISourceBlock<TOutput> para o ITargetBlock<TInput> especificado usando o filtro indicado. |
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 fonte de saída disponível. |
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. |
ReceiveAllAsync<TOutput>(IReceivableSourceBlock<TOutput>, CancellationToken) |
Cria um IAsyncEnumerable<T> que permite o recebimento de todos os dados da origem. |
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. |
TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput) |
Tentativas de receber assincronamente um item do ISourceBlock<TOutput>. |