userver: ugrpc::client::Qos Struct Reference
Loading...
Searching...
No Matches
ugrpc::client::Qos Struct Referencefinal

#include <userver/ugrpc/client/qos.hpp>

Detailed Description

Per-RPC quality-of-service config. Taken from ugrpc::client::ClientQos. Can also be passed to ugrpc client methods manually.

Definition at line 18 of file qos.hpp.

Public Attributes

std::optional< int > attempts
 The maximum number of RPC attempts, including the original attempt. If set must be minimum 1. If std::nullopt, default grpc++ retry configuration is used.
 
std::optional< std::chrono::milliseconds > timeout
 An upper bound on the deadline applied to the entire RPC. If std::nullopt, no static deadline is applied, which is reasonable for streaming RPCs.
 

Member Data Documentation

◆ attempts

std::optional<int> ugrpc::client::Qos::attempts

The maximum number of RPC attempts, including the original attempt. If set must be minimum 1. If std::nullopt, default grpc++ retry configuration is used.

See also the official gRPC docs on retries.

Definition at line 24 of file qos.hpp.

◆ timeout

std::optional<std::chrono::milliseconds> ugrpc::client::Qos::timeout

An upper bound on the deadline applied to the entire RPC. If std::nullopt, no static deadline is applied, which is reasonable for streaming RPCs.

Deadline propagation, when enabled, also puts an upper bound on the RPC deadline.

Note
The problem of "dead servers" is typically solved using keepalive pings, not using timeouts.

Definition at line 36 of file qos.hpp.


The documentation for this struct was generated from the following file: