Exemple #1
0
        public FastProvider(IJointSpaceClient client)
        {
            Subject <Unit> observed = new Subject <Unit>();

            IObservable <Unit> processedTrigger = Observable.When(Observable.And(observed.StartWith(Unit.Default), Observable.Interval(TimeSpan.FromMilliseconds(10)).StartWith(TaskPoolScheduler.Default.Now.Ticks)).Then((x, y) => x));

            Processed = processedTrigger.SelectMany(_ => client.GetAmbilightProcessed()).Do(_ => observed.OnNext(Unit.Default)).Publish().RefCount();
        }
Exemple #2
0
 public PollingProvider(IJointSpaceClient client)
 {
     Processed = Observable.Interval(TimeSpan.FromMilliseconds(50)).SelectMany(_ => client.GetAmbilightProcessed()).Publish().RefCount();
 }