public MemoryLogReader(string logName, IScheduler scheduler = null) { _logName = logName; scheduler = scheduler ?? TaskPoolScheduler.Default; _target = FindTarget(); _connectObservable = Observable.Interval(TimeSpan.FromSeconds(1), scheduler) .Select(x => ReadTargetEntries()) .Publish(); _disposable = _connectObservable.Connect(); }