From e681b1f064f88b46cd75d374937bd07e5d6e95d1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 28 Aug 2017 14:30:35 +0200 Subject: [PATCH] Simplify --- src/libutil/logging.hh | 5 ++--- src/nix/progress-bar.cc | 27 ++++++++++++--------------- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/src/libutil/logging.hh b/src/libutil/logging.hh index 4b1f3b5f7..2ec15cb68 100644 --- a/src/libutil/logging.hh +++ b/src/libutil/logging.hh @@ -33,6 +33,7 @@ typedef enum { resCorruptedPath = 103, resSetPhase = 104, resProgress = 105, + resSetExpected = 106, } ResultType; typedef uint64_t ActivityId; @@ -72,8 +73,6 @@ public: virtual void stopActivity(ActivityId act) { }; - virtual void setExpected(ActivityId act, ActivityType type, uint64_t expected) { }; - virtual void result(ActivityId act, ResultType type, const Fields & fields) { }; }; @@ -97,7 +96,7 @@ struct Activity { result(resProgress, done, expected, running, failed); } void setExpected(ActivityType type2, uint64_t expected) const - { logger.setExpected(id, type2, expected); } + { result(resSetExpected, type2, expected); } template void result(ResultType type, const Args & ... args) const diff --git a/src/nix/progress-bar.cc b/src/nix/progress-bar.cc index 054127f62..70dbfd4e5 100644 --- a/src/nix/progress-bar.cc +++ b/src/nix/progress-bar.cc @@ -192,21 +192,6 @@ public: update(*state); } - void setExpected(ActivityId act, ActivityType type, uint64_t expected) override - { - auto state(state_.lock()); - - auto i = state->its.find(act); - assert(i != state->its.end()); - ActInfo & actInfo = *i->second; - auto & j = actInfo.expectedByType[type]; - state->activitiesByType[type].expected -= j; - j = expected; - state->activitiesByType[type].expected += j; - - update(*state); - } - void result(ActivityId act, ResultType type, const std::vector & fields) override { auto state(state_.lock()); @@ -258,6 +243,18 @@ public: actInfo.failed = getI(fields, 3); update(*state); } + + else if (type == resSetExpected) { + auto i = state->its.find(act); + assert(i != state->its.end()); + ActInfo & actInfo = *i->second; + auto type = (ActivityType) getI(fields, 0); + auto & j = actInfo.expectedByType[type]; + state->activitiesByType[type].expected -= j; + j = getI(fields, 1); + state->activitiesByType[type].expected += j; + update(*state); + } } void update()