/* Copyright (c) 2018-2023 Marcelo Zimbres Silva (mzimbres@gmail.com) * * Distributed under the Boost Software License, Version 1.0. (See * accompanying file LICENSE.txt) */ #ifndef BOOST_REDIS_ERROR_HPP #define BOOST_REDIS_ERROR_HPP #include namespace boost::redis { /** \brief Generic errors. * \ingroup high-level-api */ enum class error { /// Invalid RESP3 type. invalid_data_type = 1, /// Can't parse the string as a number. not_a_number, /// The maximum depth of a nested response was exceeded. exceeeds_max_nested_depth, /// Got non boolean value. unexpected_bool_value, /// Expected field value is empty. empty_field, /// Expects a simple RESP3 type but got an aggregate. expects_resp3_simple_type, /// Expects aggregate. expects_resp3_aggregate, /// Expects a map but got other aggregate. expects_resp3_map, /// Expects a set aggregate but got something else. expects_resp3_set, /// Nested response not supported. nested_aggregate_not_supported, /// Got RESP3 simple error. resp3_simple_error, /// Got RESP3 blob_error. resp3_blob_error, /// Aggregate container has incompatible size. incompatible_size, /// Not a double not_a_double, /// Got RESP3 null. resp3_null, /// There is no stablished connection. not_connected, /// Resolve timeout resolve_timeout, /// Connect timeout connect_timeout, /// Connect timeout pong_timeout, /// SSL handshake timeout ssl_handshake_timeout, /// Can't receive push synchronously without blocking sync_receive_push_failed, /// Incompatible node depth. incompatible_node_depth, }; /** \internal * \brief Creates a error_code object from an error. * \param e Error code. * \ingroup any */ auto make_error_code(error e) -> system::error_code; } // boost::redis namespace std { template<> struct is_error_code_enum<::boost::redis::error> : std::true_type {}; } // std #endif // BOOST_REDIS_ERROR_HPP