12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- /* Copyright (c) 2018-2023 Marcelo Zimbres Silva ([email protected])
- *
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE.txt)
- */
- #ifndef BOOST_REDIS_CONFIG_HPP
- #define BOOST_REDIS_CONFIG_HPP
- #include <string>
- #include <chrono>
- #include <optional>
- namespace boost::redis
- {
- /** @brief Address of a Redis server
- * @ingroup high-level-api
- */
- struct address {
- /// Redis host.
- std::string host = "127.0.0.1";
- /// Redis port.
- std::string port = "6379";
- };
- /** @brief Configure parameters used by the connection classes
- * @ingroup high-level-api
- */
- struct config {
- /// Uses SSL instead of a plain connection.
- bool use_ssl = false;
- /// Address of the Redis server.
- address addr = address{"127.0.0.1", "6379"};
- /** @brief Username passed to the
- * [HELLO](https://redis.io/commands/hello/) command. If left
- * empty `HELLO` will be sent without authentication parameters.
- */
- std::string username = "default";
- /** @brief Password passed to the
- * [HELLO](https://redis.io/commands/hello/) command. If left
- * empty `HELLO` will be sent without authentication parameters.
- */
- std::string password;
- /// Client name parameter of the [HELLO](https://redis.io/commands/hello/) command.
- std::string clientname = "Boost.Redis";
- /// Database that will be passed to the [SELECT](https://redis.io/commands/hello/) command.
- std::optional<int> database_index = 0;
- /// Message used by the health-checker in `boost::redis::connection::async_run`.
- std::string health_check_id = "Boost.Redis";
- /// Logger prefix, see `boost::redis::logger`.
- std::string log_prefix = "(Boost.Redis) ";
- /// Time the resolve operation is allowed to last.
- std::chrono::steady_clock::duration resolve_timeout = std::chrono::seconds{10};
- /// Time the connect operation is allowed to last.
- std::chrono::steady_clock::duration connect_timeout = std::chrono::seconds{10};
- /// Time the SSL handshake operation is allowed to last.
- std::chrono::steady_clock::duration ssl_handshake_timeout = std::chrono::seconds{10};
- /** Health checks interval.
- *
- * To disable health-checks pass zero as duration.
- */
- std::chrono::steady_clock::duration health_check_interval = std::chrono::seconds{2};
- /** @brief Time waited before trying a reconnection.
- *
- * To disable reconnection pass zero as duration.
- */
- std::chrono::steady_clock::duration reconnect_wait_interval = std::chrono::seconds{1};
- };
- } // boost::redis
- #endif // BOOST_REDIS_CONFIG_HPP
|