userver: userver/storages/sqlite/infra/strategy/read_write.hpp Source File
Loading...
Searching...
No Matches
read_write.hpp
1#pragma once
2
3#include <userver/storages/sqlite/infra/strategy/pool_strategy.hpp>
4
5USERVER_NAMESPACE_BEGIN
6
7namespace storages::sqlite::infra::strategy {
8
9class ReadWriteStrategy final : public PoolStrategyBase {
10public:
11 ReadWriteStrategy(const settings::SQLiteSettings& settings, engine::TaskProcessor& blocking_task_processor);
12 ~ReadWriteStrategy() final;
13
14 void WriteStatistics(utils::statistics::Writer& writer) const final;
15
16private:
17 Pool& GetReadOnly() const final;
18 Pool& GetReadWrite() const final;
19
20 PoolPtr InitializeReadOnlyPoolReference(
21 settings::SQLiteSettings settings,
22 engine::TaskProcessor& blocking_task_processor
23 );
24
25 PoolPtr InitializeReadWritePoolReference(
26 settings::SQLiteSettings settings,
27 engine::TaskProcessor& blocking_task_processor
28 );
29
30 // Order is strong, write connection would be create first
31 PoolPtr write_connection_pool_;
32 PoolPtr read_connection_pool_;
33};
34
35} // namespace storages::sqlite::infra::strategy
36
37USERVER_NAMESPACE_END