MySQL 9.3.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
collector::CacheManager< Obj > Class Template Reference

#include <cache_manager.h>

Classes

class  CachedObject
 
class  Callbacks
 

Public Types

using Object = Obj
 

Public Member Functions

 CacheManager (Callbacks *callbacks, uint32_t limit=20)
 
virtual ~CacheManager ()
 
CachedObject get_instance (bool wait)
 
void return_instance (CachedObject &object)
 
void change_cache_object_limit (uint32_t limit)
 
Callbacksget_callbacks () const
 

Private Member Functions

Object pop (bool wait)
 

Private Attributes

uint32_t objects_limit_ {20}
 
std::mutex object_container_mutex_
 
std::list< Objectobjects_
 
Callbackscallbacks_ {nullptr}
 

Member Typedef Documentation

◆ Object

template<typename Obj >
using collector::CacheManager< Obj >::Object = Obj

Constructor & Destructor Documentation

◆ CacheManager()

template<typename Obj >
collector::CacheManager< Obj >::CacheManager ( Callbacks callbacks,
uint32_t  limit = 20 
)
inline

◆ ~CacheManager()

template<typename Obj >
virtual collector::CacheManager< Obj >::~CacheManager ( )
inlinevirtual

Member Function Documentation

◆ change_cache_object_limit()

template<typename Obj >
void collector::CacheManager< Obj >::change_cache_object_limit ( uint32_t  limit)
inline

◆ get_callbacks()

template<typename Obj >
Callbacks * collector::CacheManager< Obj >::get_callbacks ( ) const
inline

◆ get_instance()

template<typename Obj >
CachedObject collector::CacheManager< Obj >::get_instance ( bool  wait)
inline

◆ pop()

template<typename Obj >
Object collector::CacheManager< Obj >::pop ( bool  wait)
inlineprivate

◆ return_instance()

template<typename Obj >
void collector::CacheManager< Obj >::return_instance ( CachedObject object)
inline

Member Data Documentation

◆ callbacks_

template<typename Obj >
Callbacks* collector::CacheManager< Obj >::callbacks_ {nullptr}
private

◆ object_container_mutex_

template<typename Obj >
std::mutex collector::CacheManager< Obj >::object_container_mutex_
private

◆ objects_

template<typename Obj >
std::list<Object> collector::CacheManager< Obj >::objects_
private

◆ objects_limit_

template<typename Obj >
uint32_t collector::CacheManager< Obj >::objects_limit_ {20}
private

The documentation for this class was generated from the following file: