userver
C++ Async Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
exclusive_read_write.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/storages/sqlite/infra/strategy/exclusive_read_write.hpp
4
/// @brief @copybrief storages::sqlite::infra::strategy::ExclusiveReadWriteStrategy
5
6
#
include
<
userver
/
engine
/
condition_variable
.
hpp
>
7
#
include
<
userver
/
engine
/
mutex
.
hpp
>
8
9
#
include
<
userver
/
storages
/
sqlite
/
infra
/
strategy
/
pool_strategy
.
hpp
>
10
11
USERVER_NAMESPACE_BEGIN
12
13
namespace
storages::sqlite::infra::strategy {
14
15
/// @brief SQLite pool strategy: single shared read-write pool
16
class
ExclusiveReadWriteStrategy
final
:
public
PoolStrategyBase
{
17
public
:
18
ExclusiveReadWriteStrategy(
19
const
settings::
SQLiteSettings
& settings,
20
engine::TaskProcessor& blocking_task_processor
21
);
22
~ExclusiveReadWriteStrategy()
final
;
23
24
void
WriteStatistics(
utils
::
statistics
::Writer& writer)
const
final
;
25
26
private
:
27
Pool& GetReadOnly()
const
final
;
28
Pool& GetReadWrite()
const
final
;
29
30
PoolPtr InitializeReadWritePoolReference(
31
settings::
SQLiteSettings
settings,
32
engine::TaskProcessor& blocking_task_processor
33
);
34
35
PoolPtr read_write_connection_pool_;
36
};
37
38
}
// namespace storages::sqlite::infra::strategy
39
40
USERVER_NAMESPACE_END
userver
storages
sqlite
infra
strategy
exclusive_read_write.hpp
Generated on
for userver by
Doxygen
1.17.0