WriteOnceBlock<T> Classe

Definição

Fornece um buffer para receber e armazenar no máximo um elemento em uma rede de blocos de fluxo de dados.

generic <typename T>
public ref class WriteOnceBlock 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 WriteOnceBlock<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 WriteOnceBlock<'T> = class
    interface IPropagatorBlock<'T, 'T>
    interface ITargetBlock<'T>
    interface IDataflowBlock
    interface ISourceBlock<'T>
    interface IReceivableSourceBlock<'T>
Public NotInheritable Class WriteOnceBlock(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
WriteOnceBlock<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
WriteOnceBlock<T>(Func<T,T>, DataflowBlockOptions)

Inicializa um novo WriteOnceBlock<T> com o especificado DataflowBlockOptions.

WriteOnceBlock<T>(Func<T,T>)

Inicializa um novo WriteOnceBlock<T>.

Propriedades

Nome Description
Completion

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

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.

TryReceive(Predicate<T>, T)

Tenta receber de forma síncrona um item de saída disponível 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.

IReceivableSourceBlock<T>.TryReceiveAll(IList<T>)

Tenta receber síncronamente todos os itens disponíveis do IReceivableSourceBlock<TOutput>.

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