userver
C++ Async Framework
Loading...
Searching...
No Matches
task_processor_fwd.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file
4
/// @brief @copybrief engine::TaskProcessor
5
6
#
include
<
cstddef
>
7
#
include
<
functional
>
8
9
/// @file userver/engine/task/task_processor_fwd.hpp
10
/// @brief Manages tasks execution on OS threads.
11
12
USERVER_NAMESPACE_BEGIN
13
14
/// Asynchronous engine primitives
15
namespace
engine {
16
17
/// @brief Manages tasks execution on OS threads.
18
///
19
/// To create a task processor add its configuration to the "task_processors"
20
/// section of the components::ManagerControllerComponent static configuration.
21
class
TaskProcessor;
22
23
/// @brief Get approximate count of ready-to-run tasks on the `task_processor`
24
std::size_t
GetQueueSize
(
const
TaskProcessor& task_processor)
noexcept
;
25
26
/// @brief Get the number of worker threads in `task_processor`.
27
std::size_t
GetWorkerCount
(
const
TaskProcessor& task_processor)
noexcept
;
28
29
/// @brief Register a function that runs on all threads on task processor
30
/// creation. Used for pre-initializing thread_local variables with heavy
31
/// constructors (constructor that does blocking system calls, file access,
32
/// ...):
33
///
34
/// @note It is a low-level function. You might not want to use it.
35
void
RegisterThreadStartedHook
(std::function<
void
()>);
36
37
}
// namespace engine
38
39
USERVER_NAMESPACE_END
userver
engine
task
task_processor_fwd.hpp
Generated on Mon Oct 20 2025 20:16:31 for userver by
Doxygen
1.13.2