Exemplo n.º 1
0
        public TimestampsDiffStatisticsObserver(OutputDescriptor output)
        {
            Output = output;

            Results = Observable.Create <object>((observer) =>
            {
                var inputs  = new TimestampedDataCounter();
                var outputs = new TimestampedDataCounter();

                InputObserver  = System.Reactive.Observer.Create <object>(v => inputs.Add(v));
                OutputObserver = System.Reactive.Observer.Create <object>(v => outputs.Add(v), ex => observer.OnError(ex), () => Complete(inputs, outputs, observer));

                return(Disposable.Empty);
            }).Publish().RefCount();
        }
Exemplo n.º 2
0
        private void Complete(TimestampedDataCounter inputs, TimestampedDataCounter outputs, IObserver <object> observer)
        {
            var result = new TimestampsDiff
                         (
                outputs.Count,
                inputs.Duration,
                outputs.Duration,
                outputs.MinTicks - inputs.MinTicks,
                outputs.MaxTicks - inputs.MaxTicks,
                outputs.Duration - inputs.Duration
                         );

            observer.OnNext(result);

            observer.OnCompleted();
        }