MySQL 9.3.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
jit_executor::ContextPool Class Referencefinal

#include <jit_executor_context_pool.h>

Public Member Functions

 ContextPool (size_t size, CommonContext *common_context)
 
 ~ContextPool ()
 
std::shared_ptr< PooledContextHandleget_context ()
 
void release (IContext *ctx)
 
void teardown ()
 

Private Member Functions

void release_thread ()
 

Private Attributes

CommonContextm_common_context
 
std::unique_ptr< Pool< IContext * > > m_pool
 
mysql_harness::WaitingMPSCQueue< IContext * > m_release_queue
 
std::unique_ptr< std::thread > m_release_thread
 

Constructor & Destructor Documentation

◆ ContextPool()

jit_executor::ContextPool::ContextPool ( size_t  size,
CommonContext common_context 
)

◆ ~ContextPool()

jit_executor::ContextPool::~ContextPool ( )

Member Function Documentation

◆ get_context()

std::shared_ptr< PooledContextHandle > jit_executor::ContextPool::get_context ( )

◆ release()

void jit_executor::ContextPool::release ( IContext ctx)

◆ release_thread()

void jit_executor::ContextPool::release_thread ( )
private

◆ teardown()

void jit_executor::ContextPool::teardown ( )

Member Data Documentation

◆ m_common_context

CommonContext* jit_executor::ContextPool::m_common_context
private

◆ m_pool

std::unique_ptr<Pool<IContext *> > jit_executor::ContextPool::m_pool
private

◆ m_release_queue

mysql_harness::WaitingMPSCQueue<IContext *> jit_executor::ContextPool::m_release_queue
private

◆ m_release_thread

std::unique_ptr<std::thread> jit_executor::ContextPool::m_release_thread
private

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