Class foreign_storage::ForeignStorageCache

class ForeignStorageCache

Public Functions

ForeignStorageCache(const File_Namespace::DiskCacheConfig &config)
void checkpoint(const int32_t db_id, const int32_t tb_id)
void putBuffer(const ChunkKey &key, AbstractBuffer *buf, const size_t numBytes = 0)
File_Namespace::FileBuffer *getCachedChunkIfExists(const ChunkKey &chunk_key)
bool isMetadataCached(const ChunkKey &chunk_key) const
void cacheMetadataVec(const ChunkMetadataVector &metadata_vec)
void getCachedMetadataVecForKeyPrefix(ChunkMetadataVector &metadata_vec, const ChunkKey &chunk_prefix) const
bool hasCachedMetadataForKeyPrefix(const ChunkKey &chunk_prefix) const
void clearForTablePrefix(const ChunkKey &chunk_prefix)
void clear()
size_t getMaxChunkDataSize() const
std::vector<ChunkKey> getCachedChunksForKeyPrefix(const ChunkKey &chunk_prefix) const
ChunkToBufferMap getChunkBuffersForCaching(const std::set<ChunkKey> &chunk_keys) const
AbstractBuffer *getChunkBufferForPrecaching(const ChunkKey &chunk_key, bool is_new_buffer)
void deleteBufferIfExists(const ChunkKey &chunk_key)
size_t getNumCachedChunks() const
size_t getNumCachedMetadata() const
std::string dumpCachedChunkEntries() const
std::string dumpCachedMetadataEntries() const
std::string dumpEvictionQueue() const
std::string dump() const
std::string getCacheDirectory() const
std::string getCacheDirectoryForTable(int db_id, int tb_id) const
std::string getSerializedWrapperPath(int32_t db_id, int32_t tb_id) const
void cacheMetadataWithFragIdGreaterOrEqualTo(const ChunkMetadataVector &metadata_vec, const int frag_id)
uint64_t getSpaceReservedByTable(int db_id, int tb_id) const
void storeDataWrapper(const std::string &doc, int32_t db_id, int32_t tb_id)
void setDataSizeLimit(size_t max) const

Private Functions

std::set<ChunkKey>::iterator eraseChunk(const std::set<ChunkKey>::iterator&)
void eraseChunk(const ChunkKey &chunk_key)
void validatePath(const std::string &base_path) const

Private Members

std::unique_ptr<File_Namespace::CachingFileMgr> caching_file_mgr_