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


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

Определение

Этот интерфейс представляет объект , который служит в качестве распределенного рандеву между производителями и потребителями. Он аналогичен реактивной платформе Subject и не реализует IObserver интерфейсы IObservable .

public interface IAsyncStream<T> : IComparable<Orleans.Streams.IAsyncStream<T>>, IEquatable<Orleans.Streams.IAsyncStream<T>>, Orleans.Streams.IAsyncBatchObserver<T>, Orleans.Streams.IAsyncObservable<T>, Orleans.Streams.IAsyncObserver<T>, Orleans.Streams.IStreamIdentity
public interface IAsyncStream<T> : IComparable<Orleans.Streams.IAsyncStream<T>>, IEquatable<Orleans.Streams.IAsyncStream<T>>, Orleans.Streams.IAsyncBatchObservable<T>, Orleans.Streams.IAsyncBatchProducer<T>, Orleans.Streams.IAsyncObservable<T>, Orleans.Streams.IAsyncObserver<T>, Orleans.Streams.IStreamIdentity
public interface IAsyncStream<T> : IComparable<Orleans.Streams.IAsyncStream<T>>, IEquatable<Orleans.Streams.IAsyncStream<T>>, Orleans.Streams.IAsyncBatchObservable<T>, Orleans.Streams.IAsyncBatchProducer<T>, Orleans.Streams.IAsyncObservable<T>, Orleans.Streams.IAsyncObserver<T>, Orleans.Streams.IAsyncStream
type IAsyncStream<'T> = interface
    interface IStreamIdentity
    interface IEquatable<IAsyncStream<'T>>
    interface IComparable<IAsyncStream<'T>>
    interface IAsyncObservable<'T>
    interface IAsyncBatchObserver<'T>
    interface IAsyncObserver<'T>
type IAsyncStream<'T> = interface
    interface IStreamIdentity
    interface IEquatable<IAsyncStream<'T>>
    interface IComparable<IAsyncStream<'T>>
    interface IAsyncObservable<'T>
    interface IAsyncBatchObservable<'T>
    interface IAsyncBatchProducer<'T>
    interface IAsyncObserver<'T>
type IAsyncStream<'T> = interface
    interface IAsyncStream
    interface IEquatable<IAsyncStream<'T>>
    interface IComparable<IAsyncStream<'T>>
    interface IAsyncObservable<'T>
    interface IAsyncBatchObservable<'T>
    interface IAsyncBatchProducer<'T>
    interface IAsyncObserver<'T>
Public Interface IAsyncStream(Of T)
Implements IAsyncBatchObserver(Of T), IAsyncObservable(Of T), IAsyncObserver(Of T), IComparable(Of IAsyncStream(Of T)), IEquatable(Of IAsyncStream(Of T)), IStreamIdentity
Public Interface IAsyncStream(Of T)
Implements IAsyncBatchObservable(Of T), IAsyncBatchProducer(Of T), IAsyncObservable(Of T), IAsyncObserver(Of T), IComparable(Of IAsyncStream(Of T)), IEquatable(Of IAsyncStream(Of T)), IStreamIdentity
Public Interface IAsyncStream(Of T)
Implements IAsyncBatchObservable(Of T), IAsyncBatchProducer(Of T), IAsyncObservable(Of T), IAsyncObserver(Of T), IAsyncStream, IComparable(Of IAsyncStream(Of T)), IEquatable(Of IAsyncStream(Of T))

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

T

Тип объекта, который проходит через поток.

Реализации

Свойства

Guid

Возвращает уникальный идентификатор.

(Унаследовано от IStreamIdentity)
IsRewindable

Определяет, является ли этот поток перемоткой — поддерживает подписку с предыдущей точки во времени.

Namespace

Возвращает пространство имен.

(Унаследовано от IStreamIdentity)
ProviderName

Имя поставщика потока.

StreamId

Возвращает идентификатор потока.

(Унаследовано от IAsyncStream)

Методы

GetAllSubscriptionHandles()

Извлекает список всех активных подписок, созданных вызывающим элементом для этого потока.

OnCompletedAsync()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(Унаследовано от IAsyncBatchProducer<T>)
SubscribeAsync(IAsyncBatchObserver<T>, StreamSequenceToken)

Подпишите потребителя на отслеживаемый пакет.

(Унаследовано от IAsyncBatchObservable<T>)
SubscribeAsync(IAsyncBatchObserver<T>)

Подпишите потребителя на отслеживаемый пакет.

(Унаследовано от IAsyncBatchObservable<T>)
SubscribeAsync(IAsyncObserver<T>, StreamSequenceToken, StreamFilterPredicate, Object)

Подпишите потребителя на этот наблюдаемый объект.

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

Подпишите потребителя на этот наблюдаемый объект.

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

Подпишите потребителя на этот наблюдаемый объект.

(Унаследовано от IAsyncObservable<T>)

Методы расширения

SubscribeAsync<T>(IAsyncBatchObservable<T>, Func<IList<SequentialItem<T>>,Task>, Func<Exception,Task>, Func<Task>)

Подпишите потребителя на этот наблюдаемый объект с помощью делегатов. Этот метод является вспомогательным для IAsyncBatchObservable.SubscribeAsync, позволяя подписывающемуся классу встраивать методы обработчика вместо того, чтобы требовать экземпляр IAsyncBatchObserver.

SubscribeAsync<T>(IAsyncBatchObservable<T>, Func<IList<SequentialItem<T>>,Task>, Func<Exception,Task>)

Подпишите потребителя на этот наблюдаемый объект с помощью делегатов. Этот метод является вспомогательным для IAsyncBatchObservable.SubscribeAsync, позволяя подписывающемуся классу встраивать методы обработчика вместо того, чтобы требовать экземпляр IAsyncBatchObserver.

SubscribeAsync<T>(IAsyncBatchObservable<T>, Func<IList<SequentialItem<T>>,Task>, Func<Task>)

Подпишите потребителя на этот наблюдаемый объект с помощью делегатов. Этот метод является вспомогательным для IAsyncBatchObservable.SubscribeAsync, позволяя подписывающемуся классу встраивать методы обработчика вместо того, чтобы требовать экземпляр IAsyncBatchObserver.

SubscribeAsync<T>(IAsyncBatchObservable<T>, Func<IList<SequentialItem<T>>,Task>)

Подпишите потребителя на этот наблюдаемый объект с помощью делегатов. Этот метод является вспомогательным для IAsyncBatchObservable.SubscribeAsync, позволяя подписывающемуся классу встраивать методы обработчика вместо того, чтобы требовать экземпляр IAsyncBatchObserver.

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, StreamSequenceToken, StreamFilterPredicate, Object)

Подпишите потребителя на этот наблюдаемый объект с помощью делегатов. Этот метод является вспомогательным для IAsyncObservable.SubscribeAsync, позволяя подписывающему классу встраивать методы обработчика вместо того, чтобы требовать экземпляр IAsyncObserver.

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, StreamSequenceToken)

Подпишите потребителя на этот наблюдаемый объект с помощью делегатов. Этот метод является вспомогательным для IAsyncObservable.SubscribeAsync, позволяя подписывающему классу встраивать методы обработчика вместо того, чтобы требовать экземпляр IAsyncObserver.

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, Func<Exception,Task>, StreamSequenceToken, StreamFilterPredicate, Object)

Подпишите потребителя на этот наблюдаемый объект с помощью делегатов. Этот метод является вспомогательным для IAsyncObservable.SubscribeAsync, позволяя подписывающему классу встраивать методы обработчика вместо того, чтобы требовать экземпляр IAsyncObserver.

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, Func<Exception,Task>, StreamSequenceToken)

Подпишите потребителя на этот наблюдаемый объект с помощью делегатов. Этот метод является вспомогательным для IAsyncObservable.SubscribeAsync, позволяя подписывающему классу встраивать методы обработчика вместо того, чтобы требовать экземпляр IAsyncObserver.

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken, Task>, Func<Exception,Task>, Func<Task>, StreamSequenceToken, StreamFilterPredicate, Object)

Подпишите потребителя на этот наблюдаемый объект с помощью делегатов. Этот метод является вспомогательным для IAsyncObservable.SubscribeAsync, позволяя подписывающему классу встраивать методы обработчика вместо того, чтобы требовать экземпляр IAsyncObserver.

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, Func<Exception,Task>, Func<Task>, StreamSequenceToken)

Подпишите потребителя на этот наблюдаемый объект с помощью делегатов. Этот метод является вспомогательным для IAsyncObservable.SubscribeAsync, позволяя подписывающему классу встраивать методы обработчика вместо того, чтобы требовать экземпляр IAsyncObserver.

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, Func<Exception,Task>, Func<Task>)

Подпишите потребителя на этот наблюдаемый объект с помощью делегатов. Этот метод является вспомогательным для IAsyncObservable.SubscribeAsync, позволяя подписывающему классу встраивать методы обработчика вместо того, чтобы требовать экземпляр IAsyncObserver.

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, Func<Exception,Task>)

Подпишите потребителя на этот наблюдаемый объект с помощью делегатов. Этот метод является вспомогательным для IAsyncObservable.SubscribeAsync, позволяя подписывающему классу встраивать методы обработчика вместо того, чтобы требовать экземпляр IAsyncObserver.

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, Func<Task>, StreamSequenceToken, StreamFilterPredicate, Object)

Подпишите потребителя на этот наблюдаемый объект с помощью делегатов. Этот метод является вспомогательным для IAsyncObservable.SubscribeAsync, позволяя подписывающему классу встраивать методы обработчика вместо того, чтобы требовать экземпляр IAsyncObserver.

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, Func<Task>, StreamSequenceToken)

Подпишите потребителя на этот наблюдаемый объект с помощью делегатов. Этот метод является вспомогательным для IAsyncObservable.SubscribeAsync, позволяя подписывающему классу встраивать методы обработчика вместо того, чтобы требовать экземпляр IAsyncObserver.

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>, Func<Task>)

Подпишите потребителя на этот наблюдаемый объект с помощью делегатов. Этот метод является вспомогательным для IAsyncObservable.SubscribeAsync, позволяя подписывающему классу встраивать методы обработчика вместо того, чтобы требовать экземпляр IAsyncObserver.

SubscribeAsync<T>(IAsyncObservable<T>, Func<T,StreamSequenceToken,Task>)

Подпишите потребителя на этот наблюдаемый объект с помощью делегатов. Этот метод является вспомогательным для IAsyncObservable.SubscribeAsync, позволяя подписывающему классу встраивать методы обработчика вместо того, чтобы требовать экземпляр IAsyncObserver.

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