userver
C++ Async Framework
Loading...
Searching...
No Matches
options.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/storages/clickhouse/options.hpp
4
/// @brief Options
5
6
#
include
<
chrono
>
7
#
include
<
optional
>
8
9
USERVER_NAMESPACE_BEGIN
10
11
namespace
storages
::
clickhouse
{
12
13
/// A structure to control timeouts for ClickHouse queries
14
///
15
/// There is a single parameter, `execute`, which limits the overall time
16
/// the driver spends executing a query, which includes:
17
/// * connecting to ClickHouse server, if there are no connections available and
18
/// connection pool still has space for new connections;
19
/// * waiting for a connection to become idle if there are no idle connections
20
/// and connection pool already has reached its max size;
21
/// * executing the statement;
22
/// * waiting for all the results to arrive.
23
///
24
/// In case of a timeout the client gets an exception and the driver drops the
25
/// connection (no further reuse will take place),
26
/// otherwise the connection is returned to the pool.
27
struct
CommandControl
final
{
28
/// Overall timeout for a command being executed.
29
std::chrono::milliseconds
execute
;
30
31
explicit
constexpr
CommandControl(std::chrono::milliseconds execute)
32
: execute{execute} {}
33
};
34
35
/// @brief storages::clickhouse::CommandControl that may not be set.
36
using
OptionalCommandControl = std::optional<CommandControl>;
37
38
}
// namespace storages::clickhouse
39
40
USERVER_NAMESPACE_END
userver
storages
clickhouse
options.hpp
Generated on Wed May 15 2024 22:27:23 for userver by
Doxygen
1.10.0