diff --git a/src/server/tiered_storage.h b/src/server/tiered_storage.h index c767f0f9d..7b45a2022 100644 --- a/src/server/tiered_storage.h +++ b/src/server/tiered_storage.h @@ -149,6 +149,44 @@ class DbSlice; // This is a stub implementation for non-linux platforms. namespace dfly { + +// Manages offloaded values +class TieredStorageV2 { + class ShardOpManager; + + const static size_t kMinValueSize = tiering::kPageSize / 2; + + public: + explicit TieredStorageV2(DbSlice* db_slice) { + } + + TieredStorageV2(TieredStorageV2&& other) = delete; + TieredStorageV2(const TieredStorageV2& other) = delete; + + std::error_code Open(std::string_view path) { + } + + void Close() { + } + + // Read offloaded value. It must be of external type + util::fb2::Future Read(std::string_view key, const PrimeValue& value) { + return {}; + } + + // Stash value. Sets IO_PENDING flag and unsets it on error or when finished + void Stash(std::string_view key, PrimeValue* value) { + } + + // Delete value. Must either have pending IO or be offloaded (of external type) + void Delete(std::string_view key, PrimeValue* value) { + } + + TieredStatsV2 GetStats() { + return TieredStatsV2{}; + } +}; + class TieredStorage { public: static constexpr size_t kMinBlobLen = size_t(-1); // infinity.