コード例 #1
0
        public void Start()
        {
            var track = new Func <string, ImmutableList <Callback>, IDisposable>(Track).AsMemoized();
            var deviceSubscriptions = new SerialCompositeDisposable();
            var storageSubscription = _storage
                                      .GetAndObserve()
                                      .Do(data => deviceSubscriptions.Update(data.Value.Select(kvp => track(kvp.Key, kvp.Value)).ToImmutableList()))
                                      .Retry(TimeSpan.FromSeconds(5), _scheduler)
                                      .Subscribe();

            _subscription.Disposable = new CompositeDisposable(
                storageSubscription,
                deviceSubscriptions,
                StorageScavenging());
        }
コード例 #2
0
 /// <inheritdoc />
 public IObservable <ApplicationSettings> GetAndObserveCurrent()
 {
     return(_dataPersister.GetAndObserve().Select(r => r.Value ?? ApplicationSettings.Default));
 }