Partager via


IAsyncBatchProducer<T> Interface

Définition

Cette interface généralise l’interface IAsyncObserver pour permettre la production de lots d’éléments.

Notez que cette interface est appelée (utilisée) par les producteurs d’éléments.

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

Paramètres de type

T

Type d’objet consommé par l’observateur.

Dérivé
Implémente

Méthodes

OnCompletedAsync()

Avertit le consommateur que le flux a été terminé.

La tâche retournée par cette méthode doit être terminée lorsque le consommateur a terminé de traiter la fermeture du flux.

(Hérité de IAsyncObserver<T>)
OnErrorAsync(Exception)

Avertit le consommateur que le flux a eu une erreur.

La tâche retournée par cette méthode doit être terminée lorsque le consommateur a terminé de traiter la fermeture du flux.

(Hérité de IAsyncObserver<T>)
OnNextAsync(T, StreamSequenceToken)

Transmet l’élément suivant au consommateur.

La tâche retournée par cette méthode doit être terminée lorsque le traitement de l’élément a été suffisamment traité par le consommateur pour répondre à toutes les garanties comportementales.

Lorsque le consommateur est le (point de terminaison du producteur) d’un flux, la tâche est terminée lorsque l’implémentation du flux a accepté la responsabilité de l’article et est assuré de respecter ses garanties de livraison. Par exemple, un flux basé sur une file d’attente durable terminerait la tâche lorsque l’élément a été enregistré durablement. Un flux qui fournit le meilleur effort au plus une fois la livraison retournerait une tâche déjà terminée.

Lorsque le producteur est le (point de terminaison du consommateur) d’un flux, la tâche doit être terminée par le code du consommateur lorsqu’il a accepté la responsabilité de l’élément. En particulier, si le fournisseur de flux garantit au moins une livraison, l’article ne doit pas être considéré comme livré tant que la tâche retournée par le consommateur n’est pas terminée.

(Hérité de IAsyncObserver<T>)
OnNextBatchAsync(IEnumerable<T>, StreamSequenceToken)

Transmet le lot d’éléments suivant au consommateur.

La tâche retournée par cette méthode doit être terminée lorsque tous les éléments du lot ont été suffisamment traités par le consommateur pour répondre à toutes les garanties comportementales.

Autrement dit, la sémantique de la tâche retournée est la même que pour OnNextAsync(T, StreamSequenceToken), étendue pour tous les éléments du lot.

S’applique à