Поделиться через


IAsyncBatchProducer<T> Интерфейс

Определение

Этот интерфейс обобщает интерфейс IAsyncObserver, чтобы разрешить производство пакетов элементов.

Обратите внимание, что этот интерфейс вызывается (используется) производителями элементов.

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

Параметры типа

T

Тип объекта, потребляемого наблюдателем.

Производный
Реализации

Методы

OnCompletedAsync()

Уведомляет потребителя о завершении потока.

Задача, возвращаемая этим методом, должна быть завершена, когда потребитель завершит обработку закрытия потока.

(Унаследовано от IAsyncObserver<T>)
OnErrorAsync(Exception)

Уведомляет потребителя о том, что поток имел ошибку.

Задача, возвращаемая этим методом, должна быть завершена, когда потребитель завершит обработку закрытия потока.

(Унаследовано от IAsyncObserver<T>)
OnNextAsync(T, StreamSequenceToken)

Передает следующий элемент потребителю.

Задача, возвращаемая этим методом, должна быть завершена, когда обработка элемента была достаточно обработана потребителем для удовлетворения любых гарантий поведения.

Когда потребитель является (конечной точкой производителя) потока, задача завершается, когда реализация потока приняла ответственность за элемент и гарантирует соблюдение своих гарантий доставки. Например, поток, основанный на устойчивой очереди, завершит задачу, когда элемент был успешно сохранен. Поток, обеспечивающий максимальное усилие при доставке, возвращает задачу, которая уже завершена.

Когда производитель является (конечной точкой потребителя) потока, задача должна быть завершена кодом потребителя, когда он принял ответственность за элемент. В частности, если поставщик потоков гарантирует по крайней мере однократную доставку, то элемент не должен считаться доставленным до тех пор, пока задача, возвращенная потребителем, не будет завершена.

(Унаследовано от IAsyncObserver<T>)
OnNextBatchAsync(IEnumerable<T>, StreamSequenceToken)

Передает следующий пакет элементов потребителю.

Задача, возвращаемая этим методом, должна быть завершена, когда все элементы в пакете были достаточно обработаны потребителем для удовлетворения любых гарантий поведения.

То есть семантика возвращаемой задачи аналогична OnNextAsync(T, StreamSequenceToken)семантике для всех элементов в пакете.

Применяется к