userver
C++ Async Framework
Toggle main menu visibility
Documentation
API Groups
Namespaces
Reference
Class List
Class Index
File List
Macros
All
e
i
l
r
t
u
Functions
Macros
e
i
l
r
t
u
Examples
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Concepts
Loading...
Searching...
No Matches
current_task.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/engine/task/current_task.hpp
4
/// @brief Utility functions that query and operate on the current task
5
6
#
include
<
cstddef
>
7
#
include
<
cstdint
>
8
9
#
include
<
userver
/
engine
/
task
/
task_processor_fwd
.
hpp
>
10
11
USERVER_NAMESPACE_BEGIN
12
13
namespace
engine::
ev
{
14
class
ThreadControl;
15
}
// namespace engine::ev
16
17
namespace
engine {
18
19
/// @brief Namespace with functions to work with current task from within it
20
namespace
current_task
{
21
22
/// Returns true only when running in userver coroutine environment,
23
/// i.e. in an engine::TaskProcessor thread.
24
bool
IsTaskProcessorThread
()
noexcept
;
25
26
/// Returns reference to the task processor executing the caller
27
TaskProcessor&
GetTaskProcessor
();
28
29
/// Returns reference to the blocking task processor
30
TaskProcessor&
GetBlockingTaskProcessor
();
31
32
/// Returns task coroutine stack size
33
std::size_t
GetStackSize
();
34
35
/// @cond
36
// Returns ev thread handle, internal use only
37
ev
::ThreadControl& GetEventThread();
38
/// @endcond
39
40
namespace
impl {
41
// For internal use only.
42
void
* GetRawCurrentTaskContext()
noexcept
;
43
}
// namespace impl
44
45
}
// namespace current_task
46
47
namespace
impl {
48
49
// For internal use only.
50
std::uint64_t GetCreatedTaskCount(TaskProcessor&);
51
52
}
// namespace impl
53
54
}
// namespace engine
55
56
USERVER_NAMESPACE_END
userver
engine
task
current_task.hpp
Generated on Wed Jun 4 2025 11:29:14 for userver by
Doxygen
1.13.2