aboutsummaryrefslogtreecommitdiff
path: root/src/zenremotestore/projectstore/jupiterremoteprojectstore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/zenremotestore/projectstore/jupiterremoteprojectstore.cpp')
-rw-r--r--src/zenremotestore/projectstore/jupiterremoteprojectstore.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/zenremotestore/projectstore/jupiterremoteprojectstore.cpp b/src/zenremotestore/projectstore/jupiterremoteprojectstore.cpp
index 462de2988..f8179831c 100644
--- a/src/zenremotestore/projectstore/jupiterremoteprojectstore.cpp
+++ b/src/zenremotestore/projectstore/jupiterremoteprojectstore.cpp
@@ -212,7 +212,18 @@ public:
return Result;
}
- virtual LoadAttachmentResult LoadAttachment(const IoHash& RawHash) override
+ virtual GetBlockDescriptionsResult GetBlockDescriptions(std::span<const IoHash> BlockHashes) override
+ {
+ ZEN_UNUSED(BlockHashes);
+ return GetBlockDescriptionsResult{Result{.ErrorCode = int(HttpResponseCode::NotFound)}};
+ }
+
+ virtual AttachmentExistsInCacheResult AttachmentExistsInCache(std::span<const IoHash> RawHashes) override
+ {
+ return AttachmentExistsInCacheResult{Result{.ErrorCode = 0}, std::vector<bool>(RawHashes.size(), false)};
+ }
+
+ virtual LoadAttachmentResult LoadAttachment(const IoHash& RawHash, const AttachmentRange& Range) override
{
JupiterSession Session(m_JupiterClient->Logger(), m_JupiterClient->Client(), m_AllowRedirect);
JupiterResult GetResult = Session.GetCompressedBlob(m_Namespace, RawHash, m_TempFilePath);
@@ -227,6 +238,10 @@ public:
RawHash,
Result.Reason);
}
+ if (!Result.ErrorCode && Range)
+ {
+ Result.Bytes = IoBuffer(Result.Bytes, Range.Offset, Range.Bytes);
+ }
return Result;
}
@@ -235,7 +250,7 @@ public:
LoadAttachmentsResult Result;
for (const IoHash& Hash : RawHashes)
{
- LoadAttachmentResult ChunkResult = LoadAttachment(Hash);
+ LoadAttachmentResult ChunkResult = LoadAttachment(Hash, {});
if (ChunkResult.ErrorCode)
{
return LoadAttachmentsResult{ChunkResult};