userver: userver/server/request/task_inherited_data.hpp File Reference
Loading...
Searching...
No Matches
task_inherited_data.hpp File Reference

Detailed Description

Per-request data that should be available inside handlers.

Definition in file task_inherited_data.hpp.

Go to the source code of this file.

#include <atomic>
#include <chrono>
#include <optional>
#include <string>
#include <userver/engine/deadline.hpp>
#include <userver/engine/task/inherited_variable.hpp>

Classes

class  server::request::DeadlineSignal
 Signals when an operation has detected deadline expiration. More...
 
struct  server::request::TaskInheritedData
 Per-request data that should be available inside handlers. More...
 
class  server::request::DeadlinePropagationBlocker
 Stops deadline propagation within its scope. More...
 

Namespaces

namespace  server::request
 Server request related types and functions.
 

Typedefs

using server::request::TaskInheritedOriginalDeadline = std::chrono::time_point<std::chrono::system_clock, std::chrono::microseconds>
 Microsecond-precision system-clock instant (e.g. from X-Request-Deadline).
 

Functions

engine::Deadline server::request::GetTaskInheritedDeadline () noexcept
 Returns TaskInheritedData::deadline, or an unreachable engine::Deadline if none was set.
 
std::optional< TaskInheritedOriginalDeadlineserver::request::GetTaskInheritedOriginalDeadline () noexcept
 Returns TaskInheritedData::original_deadline, or std::nullopt if the header was absent or invalid.
 
void server::request::MarkTaskInheritedDeadlineExpired () noexcept
 Marks that the current TaskInheritedData::deadline has expired.
 

Variables

engine::TaskInheritedVariable< TaskInheritedDataserver::request::kTaskInheritedData