unilink  0.4.3
A simple C++ library for unified async communication
unilink::concurrency::IoContextManager::Impl Struct Reference

Public Member Functions

 Impl ()
 
 Impl (std::shared_ptr< IoContext > external_context)
 
 Impl (IoContext &external_context)
 
 ~Impl ()
 
void stop ()
 

Public Attributes

bool owns_context_ {true}
 
std::shared_ptr< IoContextioc_
 
std::unique_ptr< WorkGuardwork_guard_
 
std::thread io_thread_
 
std::atomic< bool > running_ {false}
 
std::mutex mutex_
 
std::condition_variable cv_
 
bool stopping_ {false}
 

Detailed Description

Definition at line 29 of file io_context_manager.cc.

Constructor & Destructor Documentation

◆ Impl() [1/3]

unilink::concurrency::IoContextManager::Impl::Impl ( )
inline

Definition at line 39 of file io_context_manager.cc.

◆ Impl() [2/3]

unilink::concurrency::IoContextManager::Impl::Impl ( std::shared_ptr< IoContext external_context)
inlineexplicit

Definition at line 41 of file io_context_manager.cc.

◆ Impl() [3/3]

unilink::concurrency::IoContextManager::Impl::Impl ( IoContext external_context)
inlineexplicit

Definition at line 45 of file io_context_manager.cc.

◆ ~Impl()

unilink::concurrency::IoContextManager::Impl::~Impl ( )
inline

Definition at line 50 of file io_context_manager.cc.

Member Function Documentation

◆ stop()

void unilink::concurrency::IoContextManager::Impl::stop ( )
inline

Definition at line 60 of file io_context_manager.cc.

Member Data Documentation

◆ cv_

std::condition_variable unilink::concurrency::IoContextManager::Impl::cv_

Definition at line 36 of file io_context_manager.cc.

◆ io_thread_

std::thread unilink::concurrency::IoContextManager::Impl::io_thread_

Definition at line 33 of file io_context_manager.cc.

◆ ioc_

std::shared_ptr<IoContext> unilink::concurrency::IoContextManager::Impl::ioc_

Definition at line 31 of file io_context_manager.cc.

◆ mutex_

std::mutex unilink::concurrency::IoContextManager::Impl::mutex_
mutable

Definition at line 35 of file io_context_manager.cc.

◆ owns_context_

bool unilink::concurrency::IoContextManager::Impl::owns_context_ {true}

Definition at line 30 of file io_context_manager.cc.

◆ running_

std::atomic<bool> unilink::concurrency::IoContextManager::Impl::running_ {false}

Definition at line 34 of file io_context_manager.cc.

◆ stopping_

bool unilink::concurrency::IoContextManager::Impl::stopping_ {false}

Definition at line 37 of file io_context_manager.cc.

◆ work_guard_

std::unique_ptr<WorkGuard> unilink::concurrency::IoContextManager::Impl::work_guard_

Definition at line 32 of file io_context_manager.cc.


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