Namespace with functions to work with current task from within it.
Functions | |
| bool | IsCancelRequested () noexcept |
| bool | ShouldCancel () noexcept |
| TaskCancellationReason | CancellationReason () noexcept |
| void | CancellationPoint () |
| Throws an exception if a cancellation request for this task is pending. | |
| void | SetDeadline (Deadline deadline) |
| TaskCancellationToken | GetCancellationToken () |
| Return cancellation token for current coroutine. | |
| void | RequestCancel () |
| bool | IsTaskProcessorThread () noexcept |
| TaskProcessor & | GetTaskProcessor () |
| Returns reference to the task processor executing the caller. | |
| TaskProcessor & | GetBlockingTaskProcessor () |
| Returns reference to the blocking task processor. | |
| std::size_t | GetStackSize () |
| Returns task coroutine stack size. | |
| void engine::current_task::CancellationPoint | ( | ) |
Throws an exception if a cancellation request for this task is pending.
| unspecified | (non-std) exception if cancellation is pending and not blocked |
|
noexcept |
Returns task cancellation reason for the current task
|
noexcept |
Checks for pending cancellation requests, use engine::current_task::ShouldCancel() instead, as the latter respects engine::TaskCancellationBlocker.
|
noexcept |
Returns true only when running in userver coroutine environment, i.e. in an engine::TaskProcessor thread.
| void engine::current_task::RequestCancel | ( | ) |
| void engine::current_task::SetDeadline | ( | Deadline | deadline | ) |
Set deadline for the current task. The task will be cancelled when the deadline is reached.
|
noexcept |
Checks for pending non-blocked cancellation requests