aboutsummaryrefslogtreecommitdiff
path: root/src/zenutil/jupiter/jupiterbuildstorage.cpp
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2025-03-07 09:58:20 +0100
committerGitHub Enterprise <[email protected]>2025-03-07 09:58:20 +0100
commit9b24647facccc9c7848a52f1f4c5e32055bf2f01 (patch)
treed798889a2b3f6a0d72331890b75e92b0159ce0c3 /src/zenutil/jupiter/jupiterbuildstorage.cpp
parentreduced memory churn using fixed_xxx containers (#236) (diff)
downloadzen-9b24647facccc9c7848a52f1f4c5e32055bf2f01.tar.xz
zen-9b24647facccc9c7848a52f1f4c5e32055bf2f01.zip
partial block fetch (#298)
- Improvement: Do partial requests of blocks if not all of the block is needed - Improvement: Better progress/statistics on download - Bugfix: Ensure that temporary folder for Jupiter downloads exists during verify phase
Diffstat (limited to 'src/zenutil/jupiter/jupiterbuildstorage.cpp')
-rw-r--r--src/zenutil/jupiter/jupiterbuildstorage.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/zenutil/jupiter/jupiterbuildstorage.cpp b/src/zenutil/jupiter/jupiterbuildstorage.cpp
index 309885b05..bf89ce785 100644
--- a/src/zenutil/jupiter/jupiterbuildstorage.cpp
+++ b/src/zenutil/jupiter/jupiterbuildstorage.cpp
@@ -217,13 +217,15 @@ public:
return WorkList;
}
- virtual IoBuffer GetBuildBlob(const Oid& BuildId, const IoHash& RawHash) override
+ virtual IoBuffer GetBuildBlob(const Oid& BuildId, const IoHash& RawHash, uint64_t RangeOffset, uint64_t RangeBytes) override
{
ZEN_TRACE_CPU("Jupiter::GetBuildBlob");
- Stopwatch ExecutionTimer;
- auto _ = MakeGuard([&]() { m_Stats.TotalExecutionTimeUs += ExecutionTimer.GetElapsedTimeUs(); });
- JupiterResult GetBuildBlobResult = m_Session.GetBuildBlob(m_Namespace, m_Bucket, BuildId, RawHash, m_TempFolderPath);
+ Stopwatch ExecutionTimer;
+ auto _ = MakeGuard([&]() { m_Stats.TotalExecutionTimeUs += ExecutionTimer.GetElapsedTimeUs(); });
+ CreateDirectories(m_TempFolderPath);
+ JupiterResult GetBuildBlobResult =
+ m_Session.GetBuildBlob(m_Namespace, m_Bucket, BuildId, RawHash, m_TempFolderPath, RangeOffset, RangeBytes);
AddStatistic(GetBuildBlobResult);
if (!GetBuildBlobResult.Success)
{