public static IDisposable Monitor(this StatusRepo This, ProgressLeaf leaf, bool inclProgress = false) { var c = new AverageContainer2(20); var isZero = true; return(new RepoWatcher(This, current => Call(leaf, inclProgress, c, current.Speed, current.Progress))); }
private static void Call(ProgressLeaf leaf, bool inclProgress, AverageContainer2 c, long?speed, double progress) { leaf.Update(c.UpdateSpecial(speed), inclProgress ? progress : leaf.Progress); }