NCBI C++ ToolKit
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
CInfoRequestor Class Referenceabstract

Search Toolkit Book for CInfoRequestor

#include <objtools/data_loaders/genbank/impl/info_cache.hpp>

+ Inheritance diagram for CInfoRequestor:
+ Collaboration diagram for CInfoRequestor:

Classes

struct  PtrHash
 

Public Types

typedef CInfo_Base::TExpirationTime TExpirationTime
 

Public Member Functions

 CInfoRequestor (CInfoManager &manager)
 
virtual ~CInfoRequestor (void)
 
void ReleaseAllLoadLocks (void)
 
virtual TExpirationTime GetRequestTime (void) const =0
 
virtual TExpirationTime GetNewExpirationTime (EExpirationType type) const =0
 

Protected Types

typedef unordered_map< CInfo_Base *, CRef< CInfoRequestorLock >, PtrHashTLockMap
 
typedef unordered_map< CInfoCache_Base *, vector< CInfo_Base * >, PtrHashTCacheMap
 

Protected Member Functions

CInfoManagerGetManager (void) const
 
void ReleaseAllUsedInfos (void)
 
void ReleaseLoadLock (CInfoRequestorLock &lock)
 
CRef< CInfoRequestorLockx_GetLock (CInfoCache_Base &cache, CInfo_Base &info)
 

Protected Attributes

CRef< CInfoManagerm_Manager
 
TLockMap m_LockMap
 
TCacheMap m_CacheMap
 
CRef< CInfo_Basem_WaitingForInfo
 

Friends

class CInfoManager
 
class CInfoRequestorLock
 
class CInfoCache_Base
 

Additional Inherited Members

- Private Member Functions inherited from INoCopying
 INoCopying ()
 

Detailed Description

Definition at line 239 of file info_cache.hpp.

Member Typedef Documentation

◆ TCacheMap

typedef unordered_map<CInfoCache_Base*, vector<CInfo_Base*>, PtrHash> CInfoRequestor::TCacheMap
protected

Definition at line 280 of file info_cache.hpp.

◆ TExpirationTime

Definition at line 250 of file info_cache.hpp.

◆ TLockMap

typedef unordered_map<CInfo_Base*, CRef<CInfoRequestorLock>, PtrHash> CInfoRequestor::TLockMap
protected

Definition at line 279 of file info_cache.hpp.

Constructor & Destructor Documentation

◆ CInfoRequestor()

CInfoRequestor::CInfoRequestor ( CInfoManager manager)
explicit

Definition at line 510 of file info_cache.cpp.

◆ ~CInfoRequestor()

CInfoRequestor::~CInfoRequestor ( void  )
virtual

Definition at line 516 of file info_cache.cpp.

References ReleaseAllLoadLocks(), and ReleaseAllUsedInfos().

Member Function Documentation

◆ GetManager()

CInfoManager& CInfoRequestor::GetManager ( void  ) const
inlineprotected

◆ GetNewExpirationTime()

virtual TExpirationTime CInfoRequestor::GetNewExpirationTime ( EExpirationType  type) const
pure virtual

◆ GetRequestTime()

virtual TExpirationTime CInfoRequestor::GetRequestTime ( void  ) const
pure virtual

Referenced by CInfo_Base::IsLoaded().

◆ ReleaseAllLoadLocks()

void CInfoRequestor::ReleaseAllLoadLocks ( void  )
inline

Definition at line 245 of file info_cache.hpp.

References GetManager(), and CInfoManager::ReleaseAllLoadLocks().

Referenced by ~CInfoRequestor().

◆ ReleaseAllUsedInfos()

void CInfoRequestor::ReleaseAllUsedInfos ( void  )
protected

Definition at line 536 of file info_cache.cpp.

References ITERATE, m_CacheMap, and m_LockMap.

Referenced by ~CInfoRequestor().

◆ ReleaseLoadLock()

void CInfoRequestor::ReleaseLoadLock ( CInfoRequestorLock lock)
inlineprotected

Definition at line 266 of file info_cache.hpp.

References GetManager(), and CInfoManager::ReleaseLoadLock().

◆ x_GetLock()

CRef< CInfoRequestorLock > CInfoRequestor::x_GetLock ( CInfoCache_Base cache,
CInfo_Base info 
)
protected

Friends And Related Function Documentation

◆ CInfoCache_Base

friend class CInfoCache_Base
friend

Definition at line 257 of file info_cache.hpp.

◆ CInfoManager

friend class CInfoManager
friend

Definition at line 255 of file info_cache.hpp.

◆ CInfoRequestorLock

friend class CInfoRequestorLock
friend

Definition at line 256 of file info_cache.hpp.

Referenced by x_GetLock().

Member Data Documentation

◆ m_CacheMap

TCacheMap CInfoRequestor::m_CacheMap
protected

Definition at line 284 of file info_cache.hpp.

Referenced by ReleaseAllUsedInfos(), and x_GetLock().

◆ m_LockMap

TLockMap CInfoRequestor::m_LockMap
protected

◆ m_Manager

CRef<CInfoManager> CInfoRequestor::m_Manager
protected

Definition at line 282 of file info_cache.hpp.

Referenced by GetManager().

◆ m_WaitingForInfo

CRef<CInfo_Base> CInfoRequestor::m_WaitingForInfo
protected

Definition at line 287 of file info_cache.hpp.

Referenced by CInfoManager::x_DeadLock(), and CInfoManager::x_WaitForOtherLoader().


The documentation for this class was generated from the following files:
Modified on Sun Jul 14 04:54:51 2024 by modify_doxy.py rev. 669887