task_pool#
Include dependency graph for task_pool.h:
![digraph {
graph [bgcolor="#00000000"]
node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
edge [color="#1414CE"]
"4" [label="functional" tooltip="functional"]
"11" [label="move_by_copy.h" tooltip="move_by_copy.h"]
"18" [label="variant" tooltip="variant"]
"16" [label="string" tooltip="string"]
"12" [label="utility.h" tooltip="utility.h"]
"17" [label="string_view" tooltip="string_view"]
"14" [label="condition_variable" tooltip="condition_variable"]
"5" [label="future" tooltip="future"]
"7" [label="optional" tooltip="optional"]
"10" [label="vector" tooltip="vector"]
"9" [label="utility" tooltip="utility"]
"3" [label="deque" tooltip="deque"]
"1" [label="src/task_pool.h" tooltip="src/task_pool.h" fillcolor="#BFBFBF"]
"6" [label="mutex" tooltip="mutex"]
"2" [label="chrono" tooltip="chrono"]
"8" [label="type_traits" tooltip="type_traits"]
"13" [label="algorithm" tooltip="algorithm"]
"15" [label="memory" tooltip="memory"]
"11" -> "9" [dir=forward tooltip="include"]
"12" -> "13" [dir=forward tooltip="include"]
"12" -> "14" [dir=forward tooltip="include"]
"12" -> "15" [dir=forward tooltip="include"]
"12" -> "6" [dir=forward tooltip="include"]
"12" -> "7" [dir=forward tooltip="include"]
"12" -> "16" [dir=forward tooltip="include"]
"12" -> "17" [dir=forward tooltip="include"]
"12" -> "8" [dir=forward tooltip="include"]
"12" -> "18" [dir=forward tooltip="include"]
"12" -> "10" [dir=forward tooltip="include"]
"1" -> "2" [dir=forward tooltip="include"]
"1" -> "3" [dir=forward tooltip="include"]
"1" -> "4" [dir=forward tooltip="include"]
"1" -> "5" [dir=forward tooltip="include"]
"1" -> "6" [dir=forward tooltip="include"]
"1" -> "7" [dir=forward tooltip="include"]
"1" -> "8" [dir=forward tooltip="include"]
"1" -> "9" [dir=forward tooltip="include"]
"1" -> "10" [dir=forward tooltip="include"]
"1" -> "11" [dir=forward tooltip="include"]
"1" -> "12" [dir=forward tooltip="include"]
}](../../_images/graphviz-7ed7fdcf43ab998a74a909451b4516271fda5057.png)
This graph shows which files directly or indirectly include task_pool.h:
![digraph {
graph [bgcolor="#00000000"]
node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
edge [color="#1414CE"]
"36" [label="src/platform/macos/av_img_t.h" tooltip="src/platform/macos/av_img_t.h"]
"14" [label="src/stream.cpp" tooltip="src/stream.cpp"]
"29" [label="src/platform/linux/graphics.h" tooltip="src/platform/linux/graphics.h"]
"19" [label="src/platform/linux/vaapi.cpp" tooltip="src/platform/linux/vaapi.cpp"]
"18" [label="src/platform/linux/kmsgrab.cpp" tooltip="src/platform/linux/kmsgrab.cpp"]
"43" [label="src/platform/windows/display.h" tooltip="src/platform/windows/display.h"]
"37" [label="src/platform/macos/microphone.mm" tooltip="src/platform/macos/microphone.mm"]
"45" [label="src/platform/windows/input.cpp" tooltip="src/platform/windows/input.cpp"]
"26" [label="src/upnp.cpp" tooltip="src/upnp.cpp"]
"15" [label="src/video.h" tooltip="src/video.h"]
"4" [label="src/input.cpp" tooltip="src/input.cpp"]
"28" [label="src/platform/linux/audio.cpp" tooltip="src/platform/linux/audio.cpp"]
"32" [label="src/platform/linux/input.cpp" tooltip="src/platform/linux/input.cpp"]
"24" [label="src/platform/windows/display_vram.cpp" tooltip="src/platform/windows/display_vram.cpp"]
"2" [label="src/platform/linux/x11grab.cpp" tooltip="src/platform/linux/x11grab.cpp"]
"12" [label="src/platform/common.h" tooltip="src/platform/common.h"]
"34" [label="src/platform/linux/vaapi.h" tooltip="src/platform/linux/vaapi.h"]
"7" [label="src/config.cpp" tooltip="src/config.cpp"]
"13" [label="src/input.h" tooltip="src/input.h"]
"23" [label="src/platform/windows/display_base.cpp" tooltip="src/platform/windows/display_base.cpp"]
"31" [label="src/platform/linux/wayland.cpp" tooltip="src/platform/linux/wayland.cpp"]
"48" [label="src/process.h" tooltip="src/process.h"]
"44" [label="src/platform/windows/display_ram.cpp" tooltip="src/platform/windows/display_ram.cpp"]
"42" [label="src/platform/windows/audio.cpp" tooltip="src/platform/windows/audio.cpp"]
"49" [label="src/process.cpp" tooltip="src/process.cpp"]
"17" [label="src/platform/linux/cuda.cpp" tooltip="src/platform/linux/cuda.cpp"]
"11" [label="src/main.cpp" tooltip="src/main.cpp"]
"50" [label="src/upnp.h" tooltip="src/upnp.h"]
"40" [label="src/platform/macos/nv12_zero_device.h" tooltip="src/platform/macos/nv12_zero_device.h"]
"39" [label="src/platform/macos/misc.mm" tooltip="src/platform/macos/misc.mm"]
"33" [label="src/platform/linux/publish.cpp" tooltip="src/platform/linux/publish.cpp"]
"46" [label="src/platform/windows/misc.cpp" tooltip="src/platform/windows/misc.cpp"]
"25" [label="src/stream.h" tooltip="src/stream.h"]
"38" [label="src/platform/macos/input.cpp" tooltip="src/platform/macos/input.cpp"]
"8" [label="src/confighttp.cpp" tooltip="src/confighttp.cpp"]
"1" [label="src/task_pool.h" tooltip="src/task_pool.h" fillcolor="#BFBFBF"]
"47" [label="src/platform/windows/publish.cpp" tooltip="src/platform/windows/publish.cpp"]
"3" [label="src/thread_pool.h" tooltip="src/thread_pool.h"]
"6" [label="src/audio.cpp" tooltip="src/audio.cpp"]
"27" [label="src/video.cpp" tooltip="src/video.cpp"]
"22" [label="src/platform/macos/nv12_zero_device.cpp" tooltip="src/platform/macos/nv12_zero_device.cpp"]
"16" [label="src/platform/linux/graphics.cpp" tooltip="src/platform/linux/graphics.cpp"]
"41" [label="src/platform/macos/publish.cpp" tooltip="src/platform/macos/publish.cpp"]
"5" [label="src/main.h" tooltip="src/main.h"]
"10" [label="src/cbs.cpp" tooltip="src/cbs.cpp"]
"9" [label="src/httpcommon.cpp" tooltip="src/httpcommon.cpp"]
"20" [label="src/platform/linux/wlgrab.cpp" tooltip="src/platform/linux/wlgrab.cpp"]
"21" [label="src/platform/macos/display.mm" tooltip="src/platform/macos/display.mm"]
"35" [label="src/platform/linux/x11grab.h" tooltip="src/platform/linux/x11grab.h"]
"30" [label="src/platform/linux/wayland.h" tooltip="src/platform/linux/wayland.h"]
"36" -> "21" [dir=back tooltip="include"]
"36" -> "22" [dir=back tooltip="include"]
"29" -> "16" [dir=back tooltip="include"]
"29" -> "17" [dir=back tooltip="include"]
"29" -> "18" [dir=back tooltip="include"]
"29" -> "19" [dir=back tooltip="include"]
"29" -> "30" [dir=back tooltip="include"]
"29" -> "31" [dir=back tooltip="include"]
"29" -> "2" [dir=back tooltip="include"]
"43" -> "44" [dir=back tooltip="include"]
"43" -> "23" [dir=back tooltip="include"]
"43" -> "24" [dir=back tooltip="include"]
"15" -> "11" [dir=back tooltip="include"]
"15" -> "16" [dir=back tooltip="include"]
"15" -> "17" [dir=back tooltip="include"]
"15" -> "18" [dir=back tooltip="include"]
"15" -> "19" [dir=back tooltip="include"]
"15" -> "20" [dir=back tooltip="include"]
"15" -> "2" [dir=back tooltip="include"]
"15" -> "21" [dir=back tooltip="include"]
"15" -> "22" [dir=back tooltip="include"]
"15" -> "23" [dir=back tooltip="include"]
"15" -> "24" [dir=back tooltip="include"]
"15" -> "25" [dir=back tooltip="include"]
"15" -> "27" [dir=back tooltip="include"]
"12" -> "6" [dir=back tooltip="include"]
"12" -> "7" [dir=back tooltip="include"]
"12" -> "8" [dir=back tooltip="include"]
"12" -> "9" [dir=back tooltip="include"]
"12" -> "4" [dir=back tooltip="include"]
"12" -> "13" [dir=back tooltip="include"]
"12" -> "11" [dir=back tooltip="include"]
"12" -> "28" [dir=back tooltip="include"]
"12" -> "29" [dir=back tooltip="include"]
"12" -> "18" [dir=back tooltip="include"]
"12" -> "32" [dir=back tooltip="include"]
"12" -> "33" [dir=back tooltip="include"]
"12" -> "19" [dir=back tooltip="include"]
"12" -> "34" [dir=back tooltip="include"]
"12" -> "31" [dir=back tooltip="include"]
"12" -> "20" [dir=back tooltip="include"]
"12" -> "35" [dir=back tooltip="include"]
"12" -> "2" [dir=back tooltip="include"]
"12" -> "36" [dir=back tooltip="include"]
"12" -> "21" [dir=back tooltip="include"]
"12" -> "37" [dir=back tooltip="include"]
"12" -> "38" [dir=back tooltip="include"]
"12" -> "39" [dir=back tooltip="include"]
"12" -> "40" [dir=back tooltip="include"]
"12" -> "41" [dir=back tooltip="include"]
"12" -> "42" [dir=back tooltip="include"]
"12" -> "43" [dir=back tooltip="include"]
"12" -> "23" [dir=back tooltip="include"]
"12" -> "45" [dir=back tooltip="include"]
"12" -> "46" [dir=back tooltip="include"]
"12" -> "47" [dir=back tooltip="include"]
"12" -> "48" [dir=back tooltip="include"]
"12" -> "49" [dir=back tooltip="include"]
"12" -> "50" [dir=back tooltip="include"]
"12" -> "15" [dir=back tooltip="include"]
"12" -> "27" [dir=back tooltip="include"]
"34" -> "18" [dir=back tooltip="include"]
"34" -> "20" [dir=back tooltip="include"]
"34" -> "2" [dir=back tooltip="include"]
"13" -> "4" [dir=back tooltip="include"]
"13" -> "14" [dir=back tooltip="include"]
"13" -> "15" [dir=back tooltip="include"]
"13" -> "27" [dir=back tooltip="include"]
"48" -> "8" [dir=back tooltip="include"]
"48" -> "9" [dir=back tooltip="include"]
"48" -> "11" [dir=back tooltip="include"]
"48" -> "49" [dir=back tooltip="include"]
"48" -> "14" [dir=back tooltip="include"]
"50" -> "11" [dir=back tooltip="include"]
"50" -> "26" [dir=back tooltip="include"]
"40" -> "21" [dir=back tooltip="include"]
"40" -> "22" [dir=back tooltip="include"]
"25" -> "14" [dir=back tooltip="include"]
"25" -> "26" [dir=back tooltip="include"]
"1" -> "2" [dir=back tooltip="include"]
"1" -> "3" [dir=back tooltip="include"]
"3" -> "4" [dir=back tooltip="include"]
"3" -> "5" [dir=back tooltip="include"]
"3" -> "11" [dir=back tooltip="include"]
"5" -> "6" [dir=back tooltip="include"]
"5" -> "7" [dir=back tooltip="include"]
"5" -> "8" [dir=back tooltip="include"]
"5" -> "9" [dir=back tooltip="include"]
"5" -> "10" [dir=back tooltip="include"]
"5" -> "4" [dir=back tooltip="include"]
"5" -> "11" [dir=back tooltip="include"]
"5" -> "12" [dir=back tooltip="include"]
"5" -> "28" [dir=back tooltip="include"]
"5" -> "29" [dir=back tooltip="include"]
"5" -> "17" [dir=back tooltip="include"]
"5" -> "18" [dir=back tooltip="include"]
"5" -> "32" [dir=back tooltip="include"]
"5" -> "33" [dir=back tooltip="include"]
"5" -> "19" [dir=back tooltip="include"]
"5" -> "31" [dir=back tooltip="include"]
"5" -> "20" [dir=back tooltip="include"]
"5" -> "2" [dir=back tooltip="include"]
"5" -> "21" [dir=back tooltip="include"]
"5" -> "37" [dir=back tooltip="include"]
"5" -> "38" [dir=back tooltip="include"]
"5" -> "39" [dir=back tooltip="include"]
"5" -> "41" [dir=back tooltip="include"]
"5" -> "42" [dir=back tooltip="include"]
"5" -> "44" [dir=back tooltip="include"]
"5" -> "23" [dir=back tooltip="include"]
"5" -> "45" [dir=back tooltip="include"]
"5" -> "24" [dir=back tooltip="include"]
"5" -> "46" [dir=back tooltip="include"]
"5" -> "47" [dir=back tooltip="include"]
"5" -> "49" [dir=back tooltip="include"]
"5" -> "14" [dir=back tooltip="include"]
"5" -> "26" [dir=back tooltip="include"]
"5" -> "27" [dir=back tooltip="include"]
"35" -> "18" [dir=back tooltip="include"]
"35" -> "2" [dir=back tooltip="include"]
"30" -> "17" [dir=back tooltip="include"]
"30" -> "18" [dir=back tooltip="include"]
"30" -> "31" [dir=back tooltip="include"]
"30" -> "20" [dir=back tooltip="include"]
}](../../_images/graphviz-0abda6b7d5e34db5516a0ac485c295a5e4cff831.png)
todo
-
namespace task_pool_util#
-
template<class Function>
class _Impl : public task_pool_util::_ImplBase# Inheritence diagram for task_pool_util::_Impl:
Collaboration diagram for task_pool_util::_Impl:
-
class _ImplBase#
Inheritence diagram for task_pool_util::_ImplBase:
Subclassed by task_pool_util::_Impl< Function >
-
class TaskPool#
Inheritence diagram for task_pool_util::TaskPool:
Subclassed by thread_pool_util::ThreadPool
Public Types
-
typedef std::chrono::steady_clock::time_point __time_point#
Public Functions
-
template<class X, class Y>
inline void delay(task_id_t task_id, std::chrono::duration<X, Y> duration)# - Parameters:
task_id – The id of the task to delay.
duration – The delay before executing the task.
-
inline std::optional<__time_point> next()#
-
inline std::optional<std::pair<__time_point, __task>> pop(task_id_t task_id)#
-
template<class Function, class X, class Y, class ...Args>
inline auto pushDelayed(Function &&newTask, std::chrono::duration<X, Y> duration, Args&&... args)# - Returns:
an id to potentially delay the task.
-
inline void pushDelayed(std::pair<__time_point, __task> &&task)#
-
inline bool ready()#
-
TaskPool() = default#
Protected Attributes
-
std::mutex _task_mutex#
-
std::vector<std::pair<__time_point, __task>> _timer_tasks#
Private Functions
-
template<class R>
class timer_task_t# Collaboration diagram for task_pool_util::TaskPool::timer_task_t:
-
typedef std::chrono::steady_clock::time_point __time_point#
-
template<class Function>