9#include <userver/engine/deadline.hpp>
10#include <userver/engine/task/inherited_variable.hpp>
12USERVER_NAMESPACE_BEGIN
18class DeadlineSignal
final {
20 DeadlineSignal()
noexcept;
21 DeadlineSignal(
const DeadlineSignal&)
noexcept;
22 DeadlineSignal& operator=(
const DeadlineSignal&)
noexcept;
24 void SetExpired()
noexcept;
25 bool IsExpired()
const noexcept;
28 std::atomic<
bool> value_{
false};
32struct TaskInheritedData
final {
72class [[nodiscard]] DeadlinePropagationBlocker
final {
74 DeadlinePropagationBlocker();
76 DeadlinePropagationBlocker(DeadlinePropagationBlocker&&) =
delete;
77 DeadlinePropagationBlocker& operator=(DeadlinePropagationBlocker&&) =
delete;
78 ~DeadlinePropagationBlocker();
81 TaskInheritedData old_value_;