示例#1
0
 private async Task UnsubscribeAsync(IScheduledAsyncObserver <T> observer)
 {
     using (await _lock.LockAsync().ConfigureAwait(false))
     {
         _observers.Remove(observer);
     }
 }
示例#2
0
            protected override async Task <int> ReplayAsync(IScheduledAsyncObserver <T> observer)
            {
                var count = _values.Count;

                foreach (var value in _values)
                {
                    await observer.OnNextAsync(value.Value).ConfigureAwait(false);
                }

                return(count);
            }
示例#3
0
            protected override async Task <int> ReplayAsync(IScheduledAsyncObserver <T> observer)
            {
                if (_hasValue)
                {
                    await observer.OnNextAsync(_value).ConfigureAwait(false);

                    return(1);
                }

                return(0);
            }
示例#4
0
 public Subscription(ReplayBase parent, IScheduledAsyncObserver <T> scheduled)
 {
     _parent    = parent;
     _scheduled = scheduled;
 }
示例#5
0
 protected abstract Task <int> ReplayAsync(IScheduledAsyncObserver <T> observer);