Compartilhar via


IAsyncBatchProducer<T> Interface

Definição

Essa interface generaliza a interface IAsyncObserver para permitir a produção de lotes de itens.

Observe que essa interface é invocada (usada) pelos produtores de itens.

public interface IAsyncBatchProducer<T> : Orleans.Streams.IAsyncObserver<T>
type IAsyncBatchProducer<'T> = interface
    interface IAsyncObserver<'T>
Public Interface IAsyncBatchProducer(Of T)
Implements IAsyncObserver(Of T)

Parâmetros de tipo

T

O tipo de objeto consumido pelo observador.

Derivado
Implementações

Métodos

OnCompletedAsync()

Notifica o consumidor de que o fluxo foi concluído.

A Tarefa retornada desse método deve ser concluída quando o consumidor terminar de processar o fechamento do fluxo.

(Herdado de IAsyncObserver<T>)
OnErrorAsync(Exception)

Notifica o consumidor de que o fluxo teve um erro.

A Tarefa retornada desse método deve ser concluída quando o consumidor terminar de processar o fechamento do fluxo.

(Herdado de IAsyncObserver<T>)
OnNextAsync(T, StreamSequenceToken)

Passa o próximo item para o consumidor.

A Tarefa retornada desse método deve ser concluída quando o processamento do item tiver sido processado suficientemente pelo consumidor para atender a quaisquer garantias comportamentais.

Quando o consumidor é o (ponto de extremidade do produtor de) um fluxo, a Tarefa é concluída quando a implementação do fluxo aceita a responsabilidade pelo item e tem a garantia de cumprir suas garantias de entrega. Por exemplo, um fluxo baseado em uma fila durável concluiria a Tarefa quando o item tiver sido salvo de maneira durável. Um fluxo que fornece melhor esforço no máximo uma vez que a entrega retornaria uma Tarefa que já está concluída.

Quando o produtor for o (ponto de extremidade do consumidor de) um fluxo, a Tarefa deverá ser concluída pelo código do consumidor quando tiver aceitado a responsabilidade pelo item. Em particular, se o provedor de fluxo garantir pelo menos uma entrega, o item não deverá ser considerado entregue até que a Tarefa retornada pelo consumidor seja concluída.

(Herdado de IAsyncObserver<T>)
OnNextBatchAsync(IEnumerable<T>, StreamSequenceToken)

Passa o próximo lote de itens para o consumidor.

A Tarefa retornada desse método deve ser concluída quando todos os itens no lote tiverem sido processados suficientemente pelo consumidor para atender a quaisquer garantias comportamentais.

Ou seja, a semântica da Tarefa retornada é a mesma que para OnNextAsync(T, StreamSequenceToken), estendida para todos os itens no lote.

Aplica-se a