示例#1
0
 /// <summary>
 /// Resumes consumption of a stream using delegates.
 /// This method is a helper for the StreamSubscriptionHandle.ResumeAsync allowing the subscribing class to inline the
 /// handler methods instead of requiring an instance of IAsyncObserver.
 /// </summary>
 /// <typeparam name="T">The type of object produced by the observable.</typeparam>
 /// <param name="obs">The Observable object.</param>
 /// <param name="onNextAsync">Delegte that is called for IAsyncObserver.OnNextAsync.</param>
 /// <param name="onCompletedAsync">Delegte that is called for IAsyncObserver.OnCompletedAsync.</param>
 /// <param name="token">The stream sequence to be used as an offset to start the subscription from.</param>
 /// <returns>A promise for a StreamSubscriptionHandle that represents the subscription.
 /// The consumer may unsubscribe by using this handle.
 /// The subscription remains active for as long as it is not explicitely unsubscribed.
 /// </returns>
 public static Task <StreamSubscriptionHandle <T> > ResumeAsync <T>(this StreamSubscriptionHandle <T> handle,
                                                                    Func <T, StreamSequenceToken, Task> onNextAsync,
                                                                    Func <Task> onCompletedAsync,
                                                                    StreamSequenceToken token = null)
 {
     return(handle.ResumeAsync(onNextAsync, DefaultOnError, onCompletedAsync, token));
 }
示例#2
0
 /// <summary>
 /// Resumes consumption of a stream using delegates.
 /// This method is a helper for the StreamSubscriptionHandle.ResumeAsync allowing the subscribing class to inline the
 /// handler methods instead of requiring an instance of IAsyncBatchObserver.
 /// </summary>
 /// <typeparam name="T">The type of object produced by the observable.</typeparam>
 /// <param name="handle">The subscription handle.</param>
 /// <param name="onNextAsync">Delegate that is called for IAsyncObserver.OnNextAsync.</param>
 /// <param name="onErrorAsync">Delegate that is called for IAsyncObserver.OnErrorAsync.</param>
 /// <param name="token">The stream sequence to be used as an offset to start the subscription from.</param>
 /// <returns>A promise for a StreamSubscriptionHandle that represents the subscription.
 /// The consumer may unsubscribe by using this handle.
 /// The subscription remains active for as long as it is not explicitly unsubscribed.
 /// </returns>
 public static Task <StreamSubscriptionHandle <T> > ResumeAsync <T>(this StreamSubscriptionHandle <T> handle,
                                                                    Func <IList <SequentialItem <T> >, Task> onNextAsync,
                                                                    Func <Exception, Task> onErrorAsync,
                                                                    StreamSequenceToken token = null)
 {
     return(handle.ResumeAsync(onNextAsync, onErrorAsync, DefaultOnCompleted, token));
 }
示例#3
0
        /// <summary>
        /// Resumes consumption of a stream using delegates.
        /// This method is a helper for the StreamSubscriptionHandle.ResumeAsync allowing the subscribing class to inline the
        /// handler methods instead of requiring an instance of IAsyncObserver.
        /// </summary>
        /// <typeparam name="T">The type of object produced by the observable.</typeparam>
        /// <param name="obs">The Observable object.</param>
        /// <param name="onNextAsync">Delegte that is called for IAsyncObserver.OnNextAsync.</param>
        /// <param name="onErrorAsync">Delegte that is called for IAsyncObserver.OnErrorAsync.</param>
        /// <param name="onCompletedAsync">Delegte that is called for IAsyncObserver.OnCompletedAsync.</param>
        /// <param name="token">The stream sequence to be used as an offset to start the subscription from.</param>
        /// <returns>A promise for a StreamSubscriptionHandle that represents the subscription.
        /// The consumer may unsubscribe by using this handle.
        /// The subscription remains active for as long as it is not explicitely unsubscribed.
        /// </returns>
        public static Task <StreamSubscriptionHandle <T> > ResumeAsync <T>(this StreamSubscriptionHandle <T> handle,
                                                                           Func <T, StreamSequenceToken, Task> onNextAsync,
                                                                           Func <Exception, Task> onErrorAsync,
                                                                           Func <Task> onCompletedAsync,
                                                                           StreamSequenceToken token = null)
        {
            var genericObserver = new GenericAsyncObserver <T>(onNextAsync, onErrorAsync, onCompletedAsync);

            return(handle.ResumeAsync(genericObserver, token));
        }