Compartilhar via


IAsyncBatchObserver<T> Interface

Definição

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

Observe que essa interface é implementada por consumidores de itens e invocada (usada) pelos produtores de itens. Isso significa que o ponto de extremidade do consumidor de um fluxo implementa essa interface.

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

Parâmetros de tipo

T

O tipo de objeto consumido pelo observador.

Este parâmetro de tipo é contravariante. Isso significa que é possível usar o tipo especificado ou qualquer tipo menos derivado. Para obter mais informações sobre covariância e contravariância, consulte Covariância e contravariância em genéricos.
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.

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.

OnNextAsync(IList<SequentialItem<T>>)

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

A Tarefa retornada desse método deve ser concluída quando o processamento dos itens 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 pelos itens e tem a garantia de cumprir suas garantias de entrega. Por exemplo, um fluxo baseado em uma fila durável concluiria a Tarefa quando os itens fossem salvos de maneira durável. Um fluxo que fornece o melhor esforço no máximo uma vez que a entrega retornaria uma Tarefa que já está concluída.

Quando o produtor é o (ponto de extremidade do consumidor de) um fluxo, a Tarefa deve ser concluída pelo código do consumidor quando tiver aceitado a responsabilidade pelos itens. Em particular, se o provedor de fluxo garantir uma entrega pelo menos uma vez, os itens não deverão ser considerados entregues até que a Tarefa retornada pelo consumidor seja concluída.

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 fosse salvo de maneira durável. Um fluxo que fornece o melhor esforço no máximo uma vez que a entrega retornaria uma Tarefa que já está concluída.

Quando o produtor é o (ponto de extremidade do consumidor de) um fluxo, a Tarefa deve ser concluída pelo código do consumidor quando tiver aceitado a responsabilidade pelo item. Em particular, se o provedor de fluxo garantir uma entrega pelo menos uma vez, 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, estendida para todos os itens no lote.

Aplica-se a