![]() |
UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
|


Public Member Functions | |
| worker_pool () | |
| ~worker_pool () | |
| void | notify (wp_worker *w) |
| task_result_handle_t | run_async (runnable_t task, void *data, bool detached) |
| void * | wait_task (task_result_handle_t handle) |
Public Member Functions inherited from worker_state_observer | |
| virtual | ~worker_state_observer () |
Private Attributes | |
| set< wp_worker * > | m_empty_workers |
| pthread_mutex_t | m_lock |
| set< wp_worker * > | m_occupied_workers |
| pthread_cond_t | m_worker_finished |
Definition at line 183 of file worker.cpp.
|
inline |
Definition at line 186 of file worker.cpp.
References m_lock, and m_worker_finished.
|
inline |
Definition at line 191 of file worker.cpp.
References func_delete(), m_empty_workers, m_lock, m_occupied_workers, and m_worker_finished.

|
inlinevirtual |
Implements worker_state_observer.
Definition at line 204 of file worker.cpp.
References m_empty_workers, m_lock, m_occupied_workers, and m_worker_finished.
| task_result_handle_t worker_pool::run_async | ( | runnable_t | task, |
| void * | data, | ||
| bool | detached ) |
Definition at line 222 of file worker.cpp.
References m_empty_workers, m_lock, m_occupied_workers, and wp_worker::push().
Referenced by task_run_async(), and task_run_async_detached().

| void * worker_pool::wait_task | ( | task_result_handle_t | handle | ) |
Definition at line 243 of file worker.cpp.
References wp_task_data::m_w, and wp_worker::pop().
Referenced by wait_task().

|
private |
Definition at line 216 of file worker.cpp.
Referenced by ~worker_pool(), notify(), and run_async().
|
private |
Definition at line 218 of file worker.cpp.
Referenced by worker_pool(), ~worker_pool(), notify(), and run_async().
|
private |
Definition at line 217 of file worker.cpp.
Referenced by ~worker_pool(), notify(), and run_async().
|
private |
Definition at line 219 of file worker.cpp.
Referenced by worker_pool(), ~worker_pool(), and notify().