10#include <userver/clients/dns/resolver_fwd.hpp>
11#include <userver/dynamic_config/fwd.hpp>
12#include <userver/storages/mongo/collection.hpp>
13#include <userver/storages/mongo/pool_config.hpp>
14#include <userver/utils/statistics/fwd.hpp>
15#include <userver/utils/zstring_view.hpp>
17USERVER_NAMESPACE_BEGIN
19namespace storages::mongo {
38 Pool(
Pool&&)
noexcept;
62 const std::string& uri,
63 const PoolConfig& pool_config,
64 clients::dns::Resolver* dns_resolver,
65 dynamic_config::Source config_source
69 friend void DumpMetric(utils::statistics::Writer& writer,
const Pool& pool);
72 void SetPoolSettings(
const PoolSettings& pool_settings);
74 void SetConnectionString(
const std::string& connection_string);
78 std::shared_ptr<impl::PoolImpl> impl_;
81using PoolPtr = std::shared_ptr<
Pool>;