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:


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


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

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

Definition at line 279 of file info_cache.hpp.

Constructor & Destructor Documentation

◆ CInfoRequestor()

CInfoRequestor::CInfoRequestor ( CInfoManager manager)

Definition at line 510 of file info_cache.cpp.

◆ ~CInfoRequestor()

CInfoRequestor::~CInfoRequestor ( void  )

Definition at line 516 of file info_cache.cpp.

References ReleaseAllLoadLocks(), and ReleaseAllUsedInfos().

Member Function Documentation

◆ GetManager()

CInfoManager& CInfoRequestor::GetManager ( void  ) const

◆ 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  )

Definition at line 245 of file info_cache.hpp.

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

Referenced by ~CInfoRequestor().

◆ ReleaseAllUsedInfos()

void CInfoRequestor::ReleaseAllUsedInfos ( void  )

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)

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 

Friends And Related Function Documentation

◆ CInfoCache_Base

friend class CInfoCache_Base

Definition at line 257 of file info_cache.hpp.

◆ CInfoManager

friend class CInfoManager

Definition at line 255 of file info_cache.hpp.

◆ CInfoRequestorLock

friend class CInfoRequestorLock

Definition at line 256 of file info_cache.hpp.

Referenced by x_GetLock().

Member Data Documentation

◆ m_CacheMap

TCacheMap CInfoRequestor::m_CacheMap

Definition at line 284 of file info_cache.hpp.

Referenced by ReleaseAllUsedInfos(), and x_GetLock().

◆ m_LockMap

TLockMap CInfoRequestor::m_LockMap

◆ m_Manager

CRef<CInfoManager> CInfoRequestor::m_Manager

Definition at line 282 of file info_cache.hpp.

Referenced by GetManager().

◆ m_WaitingForInfo

CRef<CInfo_Base> CInfoRequestor::m_WaitingForInfo

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 rev. 669887