forked from boostorg/mqtt5
Async.MQTT5 -> Boost.MQTT5
Summary: related to T15996 folder structure include/async_mqtt5 -> include/boost/mqtt5 namespace async_mqtt5 -> namespace boost::mqtt5 all tabs replaced with 4 spaces (because tabs are banned) boost-like order of includes TODO: fix all docs Reviewers: ivica Reviewed By: ivica Subscribers: iljazovic, miljen Differential Revision: https://repo.mireo.local/D33152
This commit is contained in:
1 parent
1225cc778a
commit
afc270f10e
136 files changed
+17834
-17859
No files matched your search
@@ -10,36 +10,36 @@
|
||||
|
||||
#ifdef BOOST_ASIO_HAS_CO_AWAIT
|
||||
|
||||
#include <boost/mqtt5.hpp>
|
||||
#include <boost/mqtt5/websocket.hpp>
|
||||
|
||||
#include <boost/asio/awaitable.hpp>
|
||||
#include <boost/asio/io_context.hpp>
|
||||
#include <boost/asio/ip/tcp.hpp>
|
||||
#include <boost/asio/ssl.hpp>
|
||||
#include <boost/beast/websocket/ssl.hpp> // async_teardown for asio::ssl::socket
|
||||
#include <boost/beast/websocket/stream.hpp>
|
||||
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include <variant> // std::monostate
|
||||
#include <vector>
|
||||
|
||||
#include <boost/asio/io_context.hpp>
|
||||
#include <boost/asio/ssl.hpp>
|
||||
#include <boost/asio/ip/tcp.hpp>
|
||||
|
||||
#include <boost/beast/websocket/stream.hpp>
|
||||
#include <boost/beast/websocket/ssl.hpp> // async_teardown for asio::ssl::socket
|
||||
|
||||
#include <async_mqtt5.hpp>
|
||||
#include <async_mqtt5/websocket.hpp>
|
||||
|
||||
namespace async_mqtt5 {
|
||||
namespace boost::mqtt5 {
|
||||
|
||||
namespace asio = boost::asio;
|
||||
|
||||
template <typename StreamBase>
|
||||
struct tls_handshake_type<asio::ssl::stream<StreamBase>> {
|
||||
static constexpr auto client = asio::ssl::stream_base::client;
|
||||
static constexpr auto server = asio::ssl::stream_base::server;
|
||||
static constexpr auto client = asio::ssl::stream_base::client;
|
||||
static constexpr auto server = asio::ssl::stream_base::server;
|
||||
};
|
||||
|
||||
template <typename StreamBase>
|
||||
void assign_tls_sni(
|
||||
const authority_path& /* ap */,
|
||||
asio::ssl::context& /* ctx */,
|
||||
asio::ssl::stream<StreamBase>& /* stream */
|
||||
const authority_path& /* ap */,
|
||||
asio::ssl::context& /* ctx */,
|
||||
asio::ssl::stream<StreamBase>& /* stream */
|
||||
) {}
|
||||
|
||||
namespace test {
|
||||
@@ -48,60 +48,60 @@ namespace test {
|
||||
|
||||
template <typename StreamType, typename TlsContextType = std::monostate>
|
||||
asio::awaitable<void> test_default_completion_tokens_impl(
|
||||
TlsContextType tls_context = {}
|
||||
TlsContextType tls_context = {}
|
||||
) {
|
||||
asio::io_context ioc;
|
||||
asio::io_context ioc;
|
||||
|
||||
using client_type = asio::use_awaitable_t<>::as_default_on_t<
|
||||
mqtt_client<StreamType, TlsContextType>
|
||||
>;
|
||||
client_type c(ioc, std::move(tls_context));
|
||||
using client_type = asio::use_awaitable_t<>::as_default_on_t<
|
||||
mqtt_client<StreamType, TlsContextType>
|
||||
>;
|
||||
client_type c(ioc, std::move(tls_context));
|
||||
|
||||
co_await c.async_run();
|
||||
|
||||
auto pub_props = publish_props {};
|
||||
co_await c.template async_publish<qos_e::at_least_once>(
|
||||
"topic", "payload", retain_e::no, pub_props
|
||||
);
|
||||
co_await c.async_run();
|
||||
|
||||
auto pub_props = publish_props {};
|
||||
co_await c.template async_publish<qos_e::at_least_once>(
|
||||
"topic", "payload", retain_e::no, pub_props
|
||||
);
|
||||
|
||||
auto sub_topic = subscribe_topic {};
|
||||
auto sub_topics = std::vector<subscribe_topic> { sub_topic };
|
||||
auto sub_props = subscribe_props {};
|
||||
co_await c.async_subscribe(sub_topics, sub_props);
|
||||
co_await c.async_subscribe(sub_topic, sub_props);
|
||||
auto sub_topic = subscribe_topic {};
|
||||
auto sub_topics = std::vector<subscribe_topic> { sub_topic };
|
||||
auto sub_props = subscribe_props {};
|
||||
co_await c.async_subscribe(sub_topics, sub_props);
|
||||
co_await c.async_subscribe(sub_topic, sub_props);
|
||||
|
||||
auto unsub_topics = std::vector<std::string> {};
|
||||
auto unsub_props = unsubscribe_props {};
|
||||
co_await c.async_unsubscribe(unsub_topics, unsub_props);
|
||||
co_await c.async_unsubscribe("topic", unsub_props);
|
||||
auto unsub_topics = std::vector<std::string> {};
|
||||
auto unsub_props = unsubscribe_props {};
|
||||
co_await c.async_unsubscribe(unsub_topics, unsub_props);
|
||||
co_await c.async_unsubscribe("topic", unsub_props);
|
||||
|
||||
co_await c.async_receive();
|
||||
co_await c.async_receive();
|
||||
|
||||
auto dc_props = disconnect_props {};
|
||||
co_await c.async_disconnect();
|
||||
co_await c.async_disconnect(disconnect_rc_e::normal_disconnection, dc_props);
|
||||
auto dc_props = disconnect_props {};
|
||||
co_await c.async_disconnect();
|
||||
co_await c.async_disconnect(disconnect_rc_e::normal_disconnection, dc_props);
|
||||
}
|
||||
|
||||
asio::awaitable<void> test_default_completion_tokens() {
|
||||
co_await test_default_completion_tokens_impl<asio::ip::tcp::socket>();
|
||||
co_await test_default_completion_tokens_impl<asio::ip::tcp::socket>();
|
||||
|
||||
co_await test_default_completion_tokens_impl<
|
||||
asio::ssl::stream<asio::ip::tcp::socket>,
|
||||
asio::ssl::context
|
||||
>(asio::ssl::context(asio::ssl::context::tls_client));
|
||||
co_await test_default_completion_tokens_impl<
|
||||
asio::ssl::stream<asio::ip::tcp::socket>,
|
||||
asio::ssl::context
|
||||
>(asio::ssl::context(asio::ssl::context::tls_client));
|
||||
|
||||
co_await test_default_completion_tokens_impl<
|
||||
boost::beast::websocket::stream<asio::ip::tcp::socket>
|
||||
>();
|
||||
co_await test_default_completion_tokens_impl<
|
||||
boost::beast::websocket::stream<asio::ip::tcp::socket>
|
||||
>();
|
||||
|
||||
co_await test_default_completion_tokens_impl<
|
||||
boost::beast::websocket::stream<asio::ssl::stream<asio::ip::tcp::socket>>,
|
||||
asio::ssl::context
|
||||
>(asio::ssl::context(asio::ssl::context::tls_client));
|
||||
co_await test_default_completion_tokens_impl<
|
||||
boost::beast::websocket::stream<asio::ssl::stream<asio::ip::tcp::socket>>,
|
||||
asio::ssl::context
|
||||
>(asio::ssl::context(asio::ssl::context::tls_client));
|
||||
}
|
||||
|
||||
} // end namespace test
|
||||
|
||||
} // end namespace async_mqtt5
|
||||
} // end namespace boost::mqtt5
|
||||
|
||||
#endif // BOOST_ASIO_HAS_CO_AWAIT
|
||||
Reference in new issue
Block a user