NCBI C++ ToolKit
Public Member Functions | Private Attributes | List of all members
CExcludeBlobCache Class Reference

Search Toolkit Book for CExcludeBlobCache

#include "exclude_blob_cache.hpp"
(Private to src/app/pubseq_gateway/server.)

+ Collaboration diagram for CExcludeBlobCache:

Public Member Functions

 CExcludeBlobCache (size_t inactivity_timeout, size_t max_cache_size, size_t purged_size)
 
 ~CExcludeBlobCache ()
 
EPSGS_CacheAddResult AddBlobId (const string &user, const SExcludeBlobId &blob_id, bool &completed, psg_time_point_t &completed_time)
 
bool IsInCache (const string &user, const SExcludeBlobId &blob_id, bool &completed, psg_time_point_t &completed_time)
 
bool SetCompleted (const string &user, const SExcludeBlobId &blob_id, bool new_val)
 
bool Remove (const string &user, const SExcludeBlobId &blob_id)
 
void Purge (void)
 
size_t Size (void)
 

Private Attributes

map< string, CUserExcludeBlobs * > m_UserBlobs
 
mutex m_Lock
 
CUserExcludeBlobsPool m_Pool
 
chrono::seconds m_InactivityTimeout
 
size_t m_MaxCacheSize
 
size_t m_PurgedSize
 
vector< CUserExcludeBlobs * > m_ToPurge
 
vector< CUserExcludeBlobs * > m_ToDiscard
 

Detailed Description

Definition at line 206 of file exclude_blob_cache.hpp.

Constructor & Destructor Documentation

◆ CExcludeBlobCache()

CExcludeBlobCache::CExcludeBlobCache ( size_t  inactivity_timeout,
size_t  max_cache_size,
size_t  purged_size 
)
inline

Definition at line 209 of file exclude_blob_cache.hpp.

◆ ~CExcludeBlobCache()

CExcludeBlobCache::~CExcludeBlobCache ( )
inline

Definition at line 218 of file exclude_blob_cache.hpp.

Member Function Documentation

◆ AddBlobId()

EPSGS_CacheAddResult CExcludeBlobCache::AddBlobId ( const string user,
const SExcludeBlobId blob_id,
bool completed,
psg_time_point_t completed_time 
)

◆ IsInCache()

bool CExcludeBlobCache::IsInCache ( const string user,
const SExcludeBlobId blob_id,
bool completed,
psg_time_point_t completed_time 
)

◆ Purge()

void CExcludeBlobCache::Purge ( void  )

◆ Remove()

bool CExcludeBlobCache::Remove ( const string user,
const SExcludeBlobId blob_id 
)

◆ SetCompleted()

bool CExcludeBlobCache::SetCompleted ( const string user,
const SExcludeBlobId blob_id,
bool  new_val 
)

◆ Size()

size_t CExcludeBlobCache::Size ( void  )
inline

Member Data Documentation

◆ m_InactivityTimeout

chrono::seconds CExcludeBlobCache::m_InactivityTimeout
private

Definition at line 257 of file exclude_blob_cache.hpp.

Referenced by Purge().

◆ m_Lock

mutex CExcludeBlobCache::m_Lock
private

Definition at line 254 of file exclude_blob_cache.hpp.

Referenced by AddBlobId(), IsInCache(), Purge(), Remove(), and SetCompleted().

◆ m_MaxCacheSize

size_t CExcludeBlobCache::m_MaxCacheSize
private

Definition at line 258 of file exclude_blob_cache.hpp.

Referenced by AddBlobId(), IsInCache(), Purge(), Remove(), and SetCompleted().

◆ m_Pool

CUserExcludeBlobsPool CExcludeBlobCache::m_Pool
private

Definition at line 255 of file exclude_blob_cache.hpp.

Referenced by AddBlobId(), and Purge().

◆ m_PurgedSize

size_t CExcludeBlobCache::m_PurgedSize
private

Definition at line 259 of file exclude_blob_cache.hpp.

Referenced by Purge().

◆ m_ToDiscard

vector<CUserExcludeBlobs *> CExcludeBlobCache::m_ToDiscard
private

Definition at line 262 of file exclude_blob_cache.hpp.

Referenced by Purge().

◆ m_ToPurge

vector<CUserExcludeBlobs *> CExcludeBlobCache::m_ToPurge
private

Definition at line 261 of file exclude_blob_cache.hpp.

Referenced by Purge().

◆ m_UserBlobs

map<string, CUserExcludeBlobs *> CExcludeBlobCache::m_UserBlobs
private

Definition at line 253 of file exclude_blob_cache.hpp.

Referenced by AddBlobId(), IsInCache(), Purge(), Remove(), and SetCompleted().


The documentation for this class was generated from the following files:
Modified on Fri Sep 20 14:57:31 2024 by modify_doxy.py rev. 669887