userver: userver/storages/sqlite/infra/strategy/read_only.hpp Source File
Loading...
Searching...
No Matches
read_only.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/storages/sqlite/infra/strategy/read_only.hpp
4/// @brief @copybrief storages::sqlite::infra::strategy::ReadOnlyStrategy
5
6#include <userver/storages/sqlite/infra/strategy/pool_strategy.hpp>
7
8USERVER_NAMESPACE_BEGIN
9
10namespace storages::sqlite::infra::strategy {
11
12/// @brief SQLite pool strategy: read-only connections only
13class ReadOnlyStrategy final : public PoolStrategyBase {
14public:
15 ReadOnlyStrategy(const settings::SQLiteSettings& settings, engine::TaskProcessor& blocking_task_processor);
16 ~ReadOnlyStrategy() final;
17
18 void WriteStatistics(utils::statistics::Writer& writer) const final;
19
20private:
21 Pool& GetReadOnly() const final;
22 Pool& GetReadWrite() const final;
23
24 PoolPtr InitializeReadOnlyPoolReference(
25 settings::SQLiteSettings settings,
26 engine::TaskProcessor& blocking_task_processor
27 );
28
29 PoolPtr read_connection_pool_;
30};
31
32} // namespace storages::sqlite::infra::strategy
33
34USERVER_NAMESPACE_END