diff options
| author | zousar <[email protected]> | 2025-08-05 23:33:56 -0600 |
|---|---|---|
| committer | zousar <[email protected]> | 2025-08-05 23:33:56 -0600 |
| commit | 4f3c5221253b627282ce6405e79f9c90dacc9b62 (patch) | |
| tree | 2678e60b9aa7ed1c72cbd27404815761910613db /src/zenstore/include | |
| parent | Merge branch 'main' into zs/put-overwrite-policy (diff) | |
| download | zen-4f3c5221253b627282ce6405e79f9c90dacc9b62.tar.xz zen-4f3c5221253b627282ce6405e79f9c90dacc9b62.zip | |
Moving put rejections to happen in batch handling
Diffstat (limited to 'src/zenstore/include')
| -rw-r--r-- | src/zenstore/include/zenstore/cache/cachedisklayer.h | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/zenstore/include/zenstore/cache/cachedisklayer.h b/src/zenstore/include/zenstore/cache/cachedisklayer.h index 903916137..023dd1ffa 100644 --- a/src/zenstore/include/zenstore/cache/cachedisklayer.h +++ b/src/zenstore/include/zenstore/cache/cachedisklayer.h @@ -396,14 +396,20 @@ public: virtual std::vector<GcReferenceChecker*> CreateReferenceCheckers(GcCtx& Ctx) override; virtual std::vector<GcReferenceValidator*> CreateReferenceValidators(GcCtx& Ctx) override; - void BuildPath(PathBuilderBase& Path, const IoHash& HashKey) const; - void PutStandaloneCacheValue(const IoHash& HashKey, const ZenCacheValue& Value, std::span<IoHash> References); - IoBuffer GetStandaloneCacheValue(const DiskLocation& Loc, const IoHash& HashKey) const; - void PutInlineCacheValue(const IoHash& HashKey, - const ZenCacheValue& Value, - std::span<IoHash> References, - PutBatchHandle* OptionalBatchHandle = nullptr); - IoBuffer GetInlineCacheValue(const DiskLocation& Loc) const; + void BuildPath(PathBuilderBase& Path, const IoHash& HashKey) const; + bool ShouldRejectPut(const IoHash& HashKey, + const ZenCacheValue& Value, + std::span<const IoHash> References, + bool Overwrite, + ZenCacheDiskLayer::PutResult& OutPutResult); + void PutStandaloneCacheValue(const IoHash& HashKey, const ZenCacheValue& Value, std::span<IoHash> References); + IoBuffer GetStandaloneCacheValue(const DiskLocation& Loc, const IoHash& HashKey) const; + PutResult PutInlineCacheValue(const IoHash& HashKey, + const ZenCacheValue& Value, + std::span<IoHash> References, + bool Overwrite, + PutBatchHandle* OptionalBatchHandle = nullptr); + IoBuffer GetInlineCacheValue(const DiskLocation& Loc) const; CacheValueDetails::ValueDetails GetValueDetails(RwLock::SharedLockScope&, const IoHash& Key, PayloadIndex Index) const; void SetMetaData(RwLock::ExclusiveLockScope&, |