123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- #ifndef BOOST_MYSQL_POOL_PARAMS_HPP
- #define BOOST_MYSQL_POOL_PARAMS_HPP
- #include <boost/mysql/any_address.hpp>
- #include <boost/mysql/defaults.hpp>
- #include <boost/mysql/ssl_mode.hpp>
- #include <boost/mysql/detail/access.hpp>
- #include <boost/asio/any_io_executor.hpp>
- #include <boost/asio/ssl/context.hpp>
- #include <boost/asio/strand.hpp>
- #include <boost/optional/optional.hpp>
- #include <chrono>
- #include <cstddef>
- #include <string>
- namespace boost {
- namespace mysql {
- struct pool_executor_params
- {
-
- asio::any_io_executor pool_executor;
-
- asio::any_io_executor connection_executor;
-
- static pool_executor_params thread_safe(asio::any_io_executor ex)
- {
- return pool_executor_params{asio::make_strand(ex), ex};
- }
- };
- struct pool_params
- {
-
- any_address server_address;
-
- std::string username;
-
- std::string password;
-
- std::string database;
-
- ssl_mode ssl{ssl_mode::enable};
-
- bool multi_queries{false};
-
- std::size_t initial_buffer_size{default_initial_read_buffer_size};
-
- std::size_t initial_size{1};
-
- std::size_t max_size{151};
-
- boost::optional<asio::ssl::context> ssl_ctx{};
-
- std::chrono::steady_clock::duration connect_timeout{std::chrono::seconds(20)};
-
- std::chrono::steady_clock::duration retry_interval{std::chrono::seconds(30)};
-
- std::chrono::steady_clock::duration ping_interval{std::chrono::hours(1)};
-
- std::chrono::steady_clock::duration ping_timeout{std::chrono::seconds(10)};
- };
- }
- }
- #endif
|