From c7c59cdc5a70bfd6e5f66f3b032ea3f8f6b4d12a Mon Sep 17 00:00:00 2001 From: Dan Engelbrecht Date: Mon, 20 Apr 2026 07:27:35 +0200 Subject: builds cmd refactor (#975) - Bugfix: `builds download` partial-block fetch decisions now account for build storage host latency - Bugfix: Transfer rate displays in `builds` commands now smooth correctly - Split `buildstorageoperations.cpp` (8.5k lines) into per-operation TUs: buildinspect, buildprimecache, buildstorageresolve, buildupdatefolder, builduploadfolder, buildvalidatebuildpart; stats moved to buildstoragestats.h. - FilteredRate extracted to zenutil. - BuildsCommand shared state consolidated into a BuildsConfiguration struct; subcommands inherit from BuildsSubCmdBase holding a `const BuildsConfiguration&` instead of a `BuildsCommand&`. - `ProgressBar` renamed to `ConsoleProgressBar`; mode enum (`ConsoleProgressMode`) lifted to namespace scope; `PushLogOperation`/`PopLogOperation`/`ForceLinebreak` promoted to virtuals on `ProgressBase`. - Free-function wrappers (`UploadFolder`, `DownloadFolder`, `ValidateBuildPart`) added around the existing operation classes so callers stop reimplementing setup + stats logging. --- src/zenutil/progress.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/zenutil/progress.cpp') diff --git a/src/zenutil/progress.cpp b/src/zenutil/progress.cpp index a12076dcc..01f6529f2 100644 --- a/src/zenutil/progress.cpp +++ b/src/zenutil/progress.cpp @@ -14,6 +14,7 @@ public: StandardProgressBar(StandardProgressBase& Owner, std::string_view InSubTask) : m_Owner(Owner), m_SubTask(InSubTask) {} virtual void UpdateState(const State& NewState, bool DoLinebreak) override; + virtual void ForceLinebreak() override {} virtual void Finish() override; private: @@ -38,6 +39,8 @@ public: const size_t PercentDone = StepCount > 0u ? (100u * StepIndex) / StepCount : 0u; ZEN_INFO("{}: {}%", m_LogOperationName, PercentDone); } + virtual void PushLogOperation(std::string_view Name) override { ZEN_UNUSED(Name); } + virtual void PopLogOperation() override {} virtual uint32_t GetProgressUpdateDelayMS() const override { return 2000; } virtual std::unique_ptr CreateProgressBar(std::string_view InSubTask) override { -- cgit v1.2.3