// // Copyright (c) 2023-2024 Ivica Siladic, Bruno Iljazovic, Korina Simicevic // // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE or copy at http://www.boost.org/LICENSE_1_0.txt) // #ifndef ASYNC_MQTT5_REBIND_EXECUTOR_HPP #define ASYNC_MQTT5_REBIND_EXECUTOR_HPP #include #include namespace async_mqtt5::detail { namespace asio = boost::asio; template struct rebind_executor { using other = typename Stream::template rebind_executor::other; }; // asio::ssl::stream does not define a rebind_executor member type template struct rebind_executor, Executor> { using other = typename asio::ssl::stream::other>; }; template struct rebind_executor>, Executor> { using other = typename boost::beast::websocket::stream< asio::ssl::stream::other>, boost::beast::websocket::stream>::is_deflate_supported::value >; }; } // end namespace async_mqtt5::detail #endif // !ASYNC_MQTT5_REBIND_EXECUTOR_HPP