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
 Timeout for a single RPC attempt. If std::nullopt, no static timeout 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

Timeout for a single RPC attempt. If std::nullopt, no static timeout is applied, which is reasonable for streaming RPCs.

Deadline propagation, when enabled, uses the minimum of the remaining deadline time and this timeout as the actual timeout for the RPC attempt.

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

Definition at line 37 of file qos.hpp.


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