userver: userver/storages/redis/hedged_request.hpp File Reference
Loading...
Searching...
No Matches
hedged_request.hpp File Reference

Detailed Description

Classes and functions for performing hedged requests.

Use MakeHedgedRedisRequest method to perform hedged redis request.

Example(Sync): auto result = ::redis::MakeHedgedRedisRequest<storages::redis::RequestHGet>( redis_client_shared_ptr, &storages::redis::Client::Hget, redis_cc, hedging_settings, key, field); Example(Async): auto future = ::redis::MakeHedgedRedisRequestAsync<storages::redis::RequestHGet>( redis_client_shared_ptr, &storages::redis::Client::Hget, redis_cc, hedging_settings, key, field); auto result = future.Get();

Definition in file hedged_request.hpp.

Go to the source code of this file.

Namespaces

namespace  storages
 Components, clients and helpers for different databases and storages.
 
namespace  storages::redis
 Redis client and helpers.
 

Typedefs

template<typename RedisRequestType >
using storages::redis::HedgedRedisRequest = utils::hedging::HedgedRequestFuture<impl::RedisRequestStrategy<RedisRequestType>>
 

Functions

template<typename RedisRequestType , typename... Args, typename M = RedisRequestType (storages::redis::Client::*)(Args..., const redis::CommandControl&)>
HedgedRedisRequest< RedisRequestType > storages::redis::MakeHedgedRedisRequestAsync (std::shared_ptr< storages::redis::Client > redis, M method, const redis::CommandControl &cc, utils::hedging::HedgingSettings hedging_settings, Args... args)
 
template<typename RedisRequestType , typename... Args, typename M = RedisRequestType (storages::redis::Client::*)(Args..., const redis::CommandControl&)>
std::optional< typename RedisRequestType::Reply > storages::redis::MakeHedgedRedisRequest (std::shared_ptr< storages::redis::Client > redis, M method, const redis::CommandControl &cc, utils::hedging::HedgingSettings hedging_settings, Args... args)
 
template<typename RedisRequestType , typename... Args, typename M = RedisRequestType (storages::redis::Client::*)(Args..., const redis::CommandControl&)>
std::vector< std::optional< typename RedisRequestType::Reply > > storages::redis::MakeBulkHedgedRedisRequest (std::shared_ptr< storages::redis::Client > redis, M method, const redis::CommandControl &cc, utils::hedging::HedgingSettings hedging_settings, std::vector< std::tuple< Args... > > args)
 
template<typename RedisRequestType , typename... Args, typename M = RedisRequestType (storages::redis::Client::*)(Args..., const redis::CommandControl&)>
utils::hedging::HedgedRequestBulkFuture< redis::impl::RedisRequestStrategy< RedisRequestType > > storages::redis::MakeBulkHedgedRedisRequestAsync (std::shared_ptr< storages::redis::Client > redis, M method, const redis::CommandControl &cc, utils::hedging::HedgingSettings hedging_settings, std::vector< std::tuple< Args... > > args)