5#include <unordered_map>
7#include <userver/dynamic_config/source.hpp>
8#include <userver/storages/secdist/fwd.hpp>
9#include <userver/utils/swappingsmart.hpp>
11#include <userver/storages/mongo/pool.hpp>
12#include <userver/storages/mongo/pool_config.hpp>
14USERVER_NAMESPACE_BEGIN
16namespace storages::mongo {
37 void AddPool(std::string dbalias);
49 std::shared_ptr<PoolMap> pool_map_ptr_;
53 MultiMongo(std::string name,
const storages::
secdist::Secdist& secdist,
55 clients::dns::Resolver* dns_resolver,
56 dynamic_config::Source config_source);
62 storages::mongo::PoolPtr
GetPool(
const std::string& dbalias)
const;
68 void AddPool(std::string dbalias);
83 const std::string& GetName()
const {
return name_; }
86 storages::mongo::PoolPtr FindPool(
const std::string& dbalias)
const;
88 const std::string name_;
89 const storages::
secdist::Secdist& secdist_;
90 dynamic_config::Source config_source_;
91 const storages::mongo::
PoolConfig pool_config_;
92 clients::dns::Resolver* dns_resolver_;
93 utils::SwappingSmart<PoolMap> pool_map_ptr_;