aboutsummaryrefslogtreecommitdiff
path: root/src/zenstore/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/zenstore/include')
-rw-r--r--src/zenstore/include/zenstore/cache/cachedisklayer.h21
-rw-r--r--src/zenstore/include/zenstore/cache/structuredcachestore.h20
2 files changed, 26 insertions, 15 deletions
diff --git a/src/zenstore/include/zenstore/cache/cachedisklayer.h b/src/zenstore/include/zenstore/cache/cachedisklayer.h
index 1b501e9ae..ef2781c1a 100644
--- a/src/zenstore/include/zenstore/cache/cachedisklayer.h
+++ b/src/zenstore/include/zenstore/cache/cachedisklayer.h
@@ -183,19 +183,22 @@ public:
zen::PutStatus Status;
CbObject Details;
};
+ typedef eastl::fixed_vector<PutResult, 32> ZenCachePutResultVec_t;
explicit ZenCacheDiskLayer(GcManager& Gc, JobQueue& JobQueue, const std::filesystem::path& RootDir, const Configuration& Config);
~ZenCacheDiskLayer();
struct GetBatchHandle;
- GetBatchHandle* BeginGetBatch(ZenCacheValueVec_t& OutResult);
- void EndGetBatch(GetBatchHandle* Batch) noexcept;
+ GetBatchHandle* CreateGetBatch(ZenCacheValueVec_t& OutResult);
+ void CommitGetBatch(GetBatchHandle* Batch);
+ void DeleteGetBatch(GetBatchHandle* Batch) noexcept;
bool Get(std::string_view Bucket, const IoHash& HashKey, ZenCacheValue& OutValue);
void Get(std::string_view Bucket, const IoHash& HashKey, GetBatchHandle& BatchHandle);
struct PutBatchHandle;
- PutBatchHandle* BeginPutBatch(std::vector<PutResult>& OutResult);
- void EndPutBatch(PutBatchHandle* Batch) noexcept;
+ PutBatchHandle* CreatePutBatch(ZenCachePutResultVec_t& OutResult);
+ void CommitPutBatch(PutBatchHandle* Batch);
+ void DeletePutBatch(PutBatchHandle* Batch) noexcept;
PutResult Put(std::string_view Bucket,
const IoHash& HashKey,
@@ -245,14 +248,16 @@ public:
bool OpenOrCreate(std::filesystem::path BucketDir, bool AllowCreate = true);
struct GetBatchHandle;
- GetBatchHandle* BeginGetBatch(ZenCacheValueVec_t& OutResult);
- void EndGetBatch(GetBatchHandle* Batch) noexcept;
+ GetBatchHandle* CreateGetBatch(ZenCacheValueVec_t& OutResult);
+ void CommitGetBatch(GetBatchHandle* Batch);
+ void DeleteGetBatch(GetBatchHandle* Batch) noexcept;
bool Get(const IoHash& HashKey, ZenCacheValue& OutValue);
void Get(const IoHash& HashKey, GetBatchHandle& BatchHandle);
struct PutBatchHandle;
- PutBatchHandle* BeginPutBatch(std::vector<ZenCacheDiskLayer::PutResult>& OutResult);
- void EndPutBatch(PutBatchHandle* Batch) noexcept;
+ PutBatchHandle* CreatePutBatch(ZenCachePutResultVec_t& OutResult);
+ void CommitPutBatch(PutBatchHandle* Batch);
+ void DeletePutBatch(PutBatchHandle* Batch) noexcept;
PutResult Put(const IoHash& HashKey,
const ZenCacheValue& Value,
std::span<IoHash> References,
diff --git a/src/zenstore/include/zenstore/cache/structuredcachestore.h b/src/zenstore/include/zenstore/cache/structuredcachestore.h
index 75692cfcd..5a0a8b069 100644
--- a/src/zenstore/include/zenstore/cache/structuredcachestore.h
+++ b/src/zenstore/include/zenstore/cache/structuredcachestore.h
@@ -78,18 +78,21 @@ public:
ZenCacheDiskLayer::DiskStats DiskStats;
};
- using PutResult = ZenCacheDiskLayer::PutResult;
+ using PutResult = ZenCacheDiskLayer::PutResult;
+ using ZenCachePutResultVec_t = ZenCacheDiskLayer::ZenCachePutResultVec_t;
ZenCacheNamespace(GcManager& Gc, JobQueue& JobQueue, const std::filesystem::path& RootDir, const Configuration& Config);
~ZenCacheNamespace();
struct PutBatchHandle;
- PutBatchHandle* BeginPutBatch(std::vector<PutResult>& OutResults);
- void EndPutBatch(PutBatchHandle* Batch) noexcept;
+ PutBatchHandle* CreatePutBatch(ZenCachePutResultVec_t& OutResults);
+ void CommitPutBatch(PutBatchHandle* Batch);
+ void DeletePutBatch(PutBatchHandle* Batch) noexcept;
struct GetBatchHandle;
- GetBatchHandle* BeginGetBatch(ZenCacheValueVec_t& OutResults);
- void EndGetBatch(GetBatchHandle* Batch) noexcept;
+ GetBatchHandle* CreateGetBatch(ZenCacheValueVec_t& OutResults);
+ void CommitGetBatch(GetBatchHandle* Batch);
+ void DeleteGetBatch(GetBatchHandle* Batch) noexcept;
bool Get(std::string_view Bucket, const IoHash& HashKey, ZenCacheValue& OutValue);
void Get(std::string_view Bucket, const IoHash& HashKey, GetBatchHandle& OptionalBatchHandle);
@@ -196,7 +199,8 @@ public:
std::vector<NamedNamespaceStats> NamespaceStats;
};
- using PutResult = ZenCacheNamespace::PutResult;
+ using PutResult = ZenCacheNamespace::PutResult;
+ using ZenCachePutResultVec_t = ZenCacheDiskLayer::ZenCachePutResultVec_t;
ZenCacheStore(GcManager& Gc,
JobQueue& JobQueue,
@@ -208,7 +212,8 @@ public:
class PutBatch
{
public:
- PutBatch(ZenCacheStore& CacheStore, std::string_view Namespace, std::vector<PutResult>& OutResult);
+ PutBatch(ZenCacheStore& CacheStore, std::string_view Namespace, ZenCachePutResultVec_t& OutResult);
+ void Commit();
~PutBatch();
private:
@@ -223,6 +228,7 @@ public:
{
public:
GetBatch(ZenCacheStore& CacheStore, std::string_view Namespace, ZenCacheValueVec_t& OutResult);
+ void Commit();
~GetBatch();
private: