mirror of
https://github.com/boostorg/mqtt5.git
synced 2025-08-02 05:54:39 +02:00
[mqtt client&test] #includes housekeeping
Summary: resolves T12777 Reviewers: ivica Reviewed By: ivica Subscribers: miljen Maniphest Tasks: T12777 Differential Revision: https://repo.mireo.local/D25995
This commit is contained in:
@@ -1,11 +1,12 @@
|
|||||||
#include <fmt/format.h>
|
#include <fmt/format.h>
|
||||||
|
|
||||||
#include <boost/asio/io_context.hpp>
|
|
||||||
#include <boost/asio/ip/tcp.hpp>
|
|
||||||
#include <boost/asio/ssl.hpp>
|
|
||||||
#include <boost/asio/co_spawn.hpp>
|
#include <boost/asio/co_spawn.hpp>
|
||||||
|
#include <boost/asio/io_context.hpp>
|
||||||
|
#include <boost/asio/ssl.hpp>
|
||||||
#include <boost/asio/use_awaitable.hpp>
|
#include <boost/asio/use_awaitable.hpp>
|
||||||
|
|
||||||
|
#include <boost/asio/ip/tcp.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5.hpp>
|
#include <async_mqtt5.hpp>
|
||||||
|
|
||||||
namespace asio = boost::asio;
|
namespace asio = boost::asio;
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
#include <fmt/format.h>
|
#include <fmt/format.h>
|
||||||
#include <iostream>
|
|
||||||
|
|
||||||
#include <boost/asio/io_context.hpp>
|
#include <boost/asio/io_context.hpp>
|
||||||
|
|
||||||
#include <boost/asio/ip/tcp.hpp>
|
#include <boost/asio/ip/tcp.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5.hpp>
|
#include <async_mqtt5.hpp>
|
||||||
|
@@ -1,7 +1,9 @@
|
|||||||
#include <fmt/format.h>
|
#include <fmt/format.h>
|
||||||
|
|
||||||
#include <boost/asio/io_context.hpp>
|
#include <boost/asio/io_context.hpp>
|
||||||
|
|
||||||
#include <boost/asio/ip/tcp.hpp>
|
#include <boost/asio/ip/tcp.hpp>
|
||||||
|
|
||||||
#include <boost/beast/websocket.hpp>
|
#include <boost/beast/websocket.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5.hpp>
|
#include <async_mqtt5.hpp>
|
||||||
|
@@ -1,10 +1,12 @@
|
|||||||
#include <fmt/format.h>
|
#include <fmt/format.h>
|
||||||
|
|
||||||
#include <boost/asio/io_context.hpp>
|
#include <boost/asio/io_context.hpp>
|
||||||
#include <boost/asio/ip/tcp.hpp>
|
|
||||||
#include <boost/beast/websocket.hpp>
|
|
||||||
#include <boost/asio/ssl.hpp>
|
#include <boost/asio/ssl.hpp>
|
||||||
|
|
||||||
|
#include <boost/asio/ip/tcp.hpp>
|
||||||
|
|
||||||
|
#include <boost/beast/websocket.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5.hpp>
|
#include <async_mqtt5.hpp>
|
||||||
|
|
||||||
namespace asio = boost::asio;
|
namespace asio = boost::asio;
|
||||||
|
@@ -1,12 +1,10 @@
|
|||||||
#ifndef ASYNC_MQTT5_ASYNC_MUTEX_HPP
|
#ifndef ASYNC_MQTT5_ASYNC_MUTEX_HPP
|
||||||
#define ASYNC_MQTT5_ASYNC_MUTEX_HPP
|
#define ASYNC_MQTT5_ASYNC_MUTEX_HPP
|
||||||
|
|
||||||
#include <boost/asio/bind_cancellation_slot.hpp>
|
|
||||||
#include <boost/asio/bind_executor.hpp>
|
|
||||||
#include <boost/asio/dispatch.hpp>
|
|
||||||
#include <boost/asio/post.hpp>
|
|
||||||
#include <boost/asio/steady_timer.hpp>
|
|
||||||
#include <boost/asio/any_completion_handler.hpp>
|
#include <boost/asio/any_completion_handler.hpp>
|
||||||
|
#include <boost/asio/associated_allocator.hpp>
|
||||||
|
#include <boost/asio/associated_cancellation_slot.hpp>
|
||||||
|
#include <boost/asio/bind_cancellation_slot.hpp>
|
||||||
#include <boost/asio/execution.hpp>
|
#include <boost/asio/execution.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/detail/async_traits.hpp>
|
#include <async_mqtt5/detail/async_traits.hpp>
|
||||||
@@ -25,7 +23,7 @@ private:
|
|||||||
using queued_op_t = asio::any_completion_handler<
|
using queued_op_t = asio::any_completion_handler<
|
||||||
void (boost::system::error_code)
|
void (boost::system::error_code)
|
||||||
>;
|
>;
|
||||||
using queue_t = detail::ring_buffer<queued_op_t>;
|
using queue_t = ring_buffer<queued_op_t>;
|
||||||
|
|
||||||
// Handler with assigned tracking executor.
|
// Handler with assigned tracking executor.
|
||||||
// Objects of this type are type-erased by any_completion_handler
|
// Objects of this type are type-erased by any_completion_handler
|
||||||
|
@@ -4,13 +4,13 @@
|
|||||||
#include <concepts>
|
#include <concepts>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
|
|
||||||
#include <boost/asio/buffer.hpp>
|
#include <boost/asio/associated_executor.hpp>
|
||||||
#include <boost/asio/prefer.hpp>
|
#include <boost/asio/prefer.hpp>
|
||||||
#include <boost/asio/write.hpp>
|
#include <boost/asio/write.hpp>
|
||||||
#include <boost/asio/associated_executor.hpp>
|
|
||||||
#include <boost/beast/core/stream_traits.hpp>
|
#include <boost/beast/core/stream_traits.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/detail/internal_types.hpp>
|
#include <async_mqtt5/types.hpp>
|
||||||
|
|
||||||
namespace async_mqtt5 {
|
namespace async_mqtt5 {
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ template <typename T, typename B>
|
|||||||
concept has_async_write = requires(T a) {
|
concept has_async_write = requires(T a) {
|
||||||
a.async_write(
|
a.async_write(
|
||||||
std::declval<B>(),
|
std::declval<B>(),
|
||||||
[](boost::system::error_code, size_t) {}
|
[](error_code, size_t) {}
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -144,14 +144,10 @@ decltype(auto) async_write(
|
|||||||
|
|
||||||
template <typename TlsContext, typename Stream>
|
template <typename TlsContext, typename Stream>
|
||||||
void setup_tls_sni(const authority_path& ap, TlsContext& ctx, Stream& s) {
|
void setup_tls_sni(const authority_path& ap, TlsContext& ctx, Stream& s) {
|
||||||
if constexpr (has_tls_handshake<Stream>) {
|
if constexpr (has_tls_handshake<Stream>)
|
||||||
using tls_stream_type = Stream;
|
|
||||||
assign_tls_sni(ap, ctx, s);
|
assign_tls_sni(ap, ctx, s);
|
||||||
}
|
else if constexpr (has_next_layer<Stream>)
|
||||||
else if constexpr (has_next_layer<Stream>) {
|
|
||||||
using next_layer_type = typename Stream::next_layer_type;
|
|
||||||
setup_tls_sni(ap, ctx, next_layer(s));
|
setup_tls_sni(ap, ctx, next_layer(s));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // end namespace detail
|
} // end namespace detail
|
||||||
|
@@ -1,16 +1,15 @@
|
|||||||
#ifndef ASYNC_MQTT5_CANCELLABLE_HANDLER_HPP
|
#ifndef ASYNC_MQTT5_CANCELLABLE_HANDLER_HPP
|
||||||
#define ASYNC_MQTT5_CANCELLABLE_HANDLER_HPP
|
#define ASYNC_MQTT5_CANCELLABLE_HANDLER_HPP
|
||||||
|
|
||||||
#include <boost/asio/cancellation_type.hpp>
|
#include <memory>
|
||||||
|
|
||||||
#include <boost/asio/associated_allocator.hpp>
|
#include <boost/asio/associated_allocator.hpp>
|
||||||
#include <boost/asio/associated_cancellation_slot.hpp>
|
#include <boost/asio/associated_cancellation_slot.hpp>
|
||||||
#include <boost/asio/associated_executor.hpp>
|
#include <boost/asio/cancellation_type.hpp>
|
||||||
#include <boost/asio/error.hpp>
|
|
||||||
#include <boost/asio/prepend.hpp>
|
|
||||||
#include <boost/asio/post.hpp>
|
|
||||||
#include <boost/asio/dispatch.hpp>
|
#include <boost/asio/dispatch.hpp>
|
||||||
#include <boost/asio/bind_executor.hpp>
|
#include <boost/asio/error.hpp>
|
||||||
#include <memory>
|
#include <boost/asio/post.hpp>
|
||||||
|
#include <boost/asio/prepend.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/detail/async_traits.hpp>
|
#include <async_mqtt5/detail/async_traits.hpp>
|
||||||
|
|
||||||
|
@@ -10,7 +10,6 @@
|
|||||||
|
|
||||||
namespace async_mqtt5 {
|
namespace async_mqtt5 {
|
||||||
|
|
||||||
namespace asio = boost::asio;
|
|
||||||
|
|
||||||
enum class control_code_e : std::uint8_t {
|
enum class control_code_e : std::uint8_t {
|
||||||
no_packet = 0b00000000, // 0
|
no_packet = 0b00000000, // 0
|
||||||
|
@@ -4,6 +4,7 @@
|
|||||||
#include <optional>
|
#include <optional>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
#include <async_mqtt5/error.hpp>
|
||||||
#include <async_mqtt5/types.hpp>
|
#include <async_mqtt5/types.hpp>
|
||||||
|
|
||||||
namespace async_mqtt5::detail {
|
namespace async_mqtt5::detail {
|
||||||
|
@@ -1,16 +1,20 @@
|
|||||||
#ifndef ASYNC_MQTT5_ASSEMBLE_OP_HPP
|
#ifndef ASYNC_MQTT5_ASSEMBLE_OP_HPP
|
||||||
#define ASYNC_MQTT5_ASSEMBLE_OP_HPP
|
#define ASYNC_MQTT5_ASSEMBLE_OP_HPP
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include <boost/asio/append.hpp>
|
||||||
#include <boost/asio/buffer.hpp>
|
#include <boost/asio/buffer.hpp>
|
||||||
|
#include <boost/asio/completion_condition.hpp>
|
||||||
|
#include <boost/asio/dispatch.hpp>
|
||||||
#include <boost/asio/post.hpp>
|
#include <boost/asio/post.hpp>
|
||||||
#include <boost/asio/prepend.hpp>
|
#include <boost/asio/prepend.hpp>
|
||||||
#include <boost/asio/append.hpp>
|
|
||||||
#include <boost/asio/dispatch.hpp>
|
|
||||||
#include <boost/asio/completion_condition.hpp>
|
|
||||||
|
|
||||||
#include <async_mqtt5/error.hpp>
|
#include <async_mqtt5/error.hpp>
|
||||||
#include <async_mqtt5/detail/internal_types.hpp>
|
|
||||||
#include <async_mqtt5/detail/control_packet.hpp>
|
#include <async_mqtt5/detail/control_packet.hpp>
|
||||||
|
#include <async_mqtt5/detail/internal_types.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/internal/codecs/base_decoders.hpp>
|
#include <async_mqtt5/impl/internal/codecs/base_decoders.hpp>
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
||||||
|
|
||||||
|
@@ -4,6 +4,7 @@
|
|||||||
#include <boost/asio/any_completion_handler.hpp>
|
#include <boost/asio/any_completion_handler.hpp>
|
||||||
#include <boost/asio/buffer.hpp>
|
#include <boost/asio/buffer.hpp>
|
||||||
#include <boost/asio/prepend.hpp>
|
#include <boost/asio/prepend.hpp>
|
||||||
|
|
||||||
#include <boost/asio/ip/tcp.hpp>
|
#include <boost/asio/ip/tcp.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/detail/internal_types.hpp>
|
#include <async_mqtt5/detail/internal_types.hpp>
|
||||||
|
@@ -3,24 +3,20 @@
|
|||||||
|
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
#include <boost/asio/connect.hpp>
|
|
||||||
#include <boost/asio/read.hpp>
|
|
||||||
#include <boost/asio/write.hpp>
|
|
||||||
#include <boost/asio/completion_condition.hpp>
|
|
||||||
#include <boost/asio/ip/tcp.hpp>
|
#include <boost/asio/ip/tcp.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/detail/internal_types.hpp>
|
|
||||||
#include <async_mqtt5/detail/async_mutex.hpp>
|
#include <async_mqtt5/detail/async_mutex.hpp>
|
||||||
#include <async_mqtt5/detail/async_traits.hpp>
|
#include <async_mqtt5/detail/async_traits.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/endpoints.hpp>
|
#include <async_mqtt5/impl/endpoints.hpp>
|
||||||
#include <async_mqtt5/impl/reconnect_op.hpp>
|
|
||||||
#include <async_mqtt5/impl/read_op.hpp>
|
#include <async_mqtt5/impl/read_op.hpp>
|
||||||
|
#include <async_mqtt5/impl/reconnect_op.hpp>
|
||||||
#include <async_mqtt5/impl/write_op.hpp>
|
#include <async_mqtt5/impl/write_op.hpp>
|
||||||
|
|
||||||
namespace async_mqtt5::detail {
|
namespace async_mqtt5::detail {
|
||||||
|
|
||||||
namespace asio = boost::asio;
|
namespace asio = boost::asio;
|
||||||
|
using error_code = boost::system::error_code;
|
||||||
|
|
||||||
template <
|
template <
|
||||||
typename StreamType,
|
typename StreamType,
|
||||||
|
@@ -3,18 +3,18 @@
|
|||||||
|
|
||||||
#include <boost/asio/experimental/concurrent_channel.hpp>
|
#include <boost/asio/experimental/concurrent_channel.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/error.hpp>
|
|
||||||
#include <async_mqtt5/detail/internal_types.hpp>
|
#include <async_mqtt5/detail/internal_types.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/autoconnect_stream.hpp>
|
|
||||||
#include <async_mqtt5/impl/replies.hpp>
|
|
||||||
#include <async_mqtt5/impl/async_sender.hpp>
|
|
||||||
#include <async_mqtt5/impl/assemble_op.hpp>
|
#include <async_mqtt5/impl/assemble_op.hpp>
|
||||||
|
#include <async_mqtt5/impl/async_sender.hpp>
|
||||||
|
#include <async_mqtt5/impl/autoconnect_stream.hpp>
|
||||||
#include <async_mqtt5/impl/ping_op.hpp>
|
#include <async_mqtt5/impl/ping_op.hpp>
|
||||||
|
#include <async_mqtt5/impl/replies.hpp>
|
||||||
#include <async_mqtt5/impl/sentry_op.hpp>
|
#include <async_mqtt5/impl/sentry_op.hpp>
|
||||||
|
|
||||||
namespace async_mqtt5::detail {
|
namespace async_mqtt5::detail {
|
||||||
|
|
||||||
|
namespace asio = boost::asio;
|
||||||
|
|
||||||
template <typename StreamType, typename TlsContext>
|
template <typename StreamType, typename TlsContext>
|
||||||
class stream_context;
|
class stream_context;
|
||||||
@@ -95,8 +95,8 @@ template <
|
|||||||
typename TlsContext = std::monostate
|
typename TlsContext = std::monostate
|
||||||
>
|
>
|
||||||
class client_service {
|
class client_service {
|
||||||
using stream_context_type = detail::stream_context<StreamType, TlsContext>;
|
using stream_context_type = stream_context<StreamType, TlsContext>;
|
||||||
using stream_type = detail::autoconnect_stream<
|
using stream_type = autoconnect_stream<
|
||||||
StreamType, stream_context_type
|
StreamType, stream_context_type
|
||||||
>;
|
>;
|
||||||
public:
|
public:
|
||||||
@@ -108,26 +108,26 @@ private:
|
|||||||
>;
|
>;
|
||||||
|
|
||||||
template <typename ClientService>
|
template <typename ClientService>
|
||||||
friend class detail::async_sender;
|
friend class async_sender;
|
||||||
|
|
||||||
template <typename ClientService, typename Handler>
|
template <typename ClientService, typename Handler>
|
||||||
friend class detail::assemble_op;
|
friend class assemble_op;
|
||||||
|
|
||||||
template <typename ClientService>
|
template <typename ClientService>
|
||||||
friend class detail::ping_op;
|
friend class ping_op;
|
||||||
|
|
||||||
template <typename ClientService>
|
template <typename ClientService>
|
||||||
friend class detail::sentry_op;
|
friend class sentry_op;
|
||||||
|
|
||||||
stream_context_type _stream_context;
|
stream_context_type _stream_context;
|
||||||
stream_type _stream;
|
stream_type _stream;
|
||||||
|
|
||||||
packet_id_allocator _pid_allocator;
|
packet_id_allocator _pid_allocator;
|
||||||
detail::replies _replies;
|
replies _replies;
|
||||||
detail::async_sender<client_service> _async_sender;
|
async_sender<client_service> _async_sender;
|
||||||
|
|
||||||
std::string _read_buff;
|
std::string _read_buff;
|
||||||
detail::data_span _active_span;
|
data_span _active_span;
|
||||||
|
|
||||||
receive_channel _rec_channel;
|
receive_channel _rec_channel;
|
||||||
|
|
||||||
@@ -231,7 +231,7 @@ public:
|
|||||||
template <typename CompletionToken>
|
template <typename CompletionToken>
|
||||||
decltype(auto) async_assemble(duration wait_for, CompletionToken&& token) {
|
decltype(auto) async_assemble(duration wait_for, CompletionToken&& token) {
|
||||||
auto initiation = [this] (auto handler, duration wait_for) mutable {
|
auto initiation = [this] (auto handler, duration wait_for) mutable {
|
||||||
detail::assemble_op {
|
assemble_op {
|
||||||
*this, std::move(handler),
|
*this, std::move(handler),
|
||||||
_read_buff, _active_span
|
_read_buff, _active_span
|
||||||
}.perform(wait_for, asio::transfer_at_least(0));
|
}.perform(wait_for, asio::transfer_at_least(0));
|
||||||
|
@@ -1,26 +1,26 @@
|
|||||||
#ifndef ASYNC_MQTT5_CONNECT_OP_HPP
|
#ifndef ASYNC_MQTT5_CONNECT_OP_HPP
|
||||||
#define ASYNC_MQTT5_CONNECT_OP_HPP
|
#define ASYNC_MQTT5_CONNECT_OP_HPP
|
||||||
|
|
||||||
#include <boost/asio/ip/tcp.hpp>
|
|
||||||
#include <boost/asio/consign.hpp>
|
|
||||||
#include <boost/asio/prepend.hpp>
|
|
||||||
#include <boost/asio/append.hpp>
|
#include <boost/asio/append.hpp>
|
||||||
|
#include <boost/asio/consign.hpp>
|
||||||
#include <boost/asio/dispatch.hpp>
|
#include <boost/asio/dispatch.hpp>
|
||||||
|
#include <boost/asio/prepend.hpp>
|
||||||
#include <boost/asio/read.hpp>
|
#include <boost/asio/read.hpp>
|
||||||
#include <boost/asio/post.hpp>
|
|
||||||
#include <boost/asio/write.hpp>
|
#include <boost/asio/write.hpp>
|
||||||
|
|
||||||
#include <boost/beast/websocket.hpp>
|
#include <boost/beast/websocket.hpp>
|
||||||
|
|
||||||
|
#include <boost/asio/ip/tcp.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/error.hpp>
|
#include <async_mqtt5/error.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/detail/internal_types.hpp>
|
|
||||||
#include <async_mqtt5/detail/async_traits.hpp>
|
#include <async_mqtt5/detail/async_traits.hpp>
|
||||||
#include <async_mqtt5/detail/control_packet.hpp>
|
#include <async_mqtt5/detail/control_packet.hpp>
|
||||||
|
#include <async_mqtt5/detail/internal_types.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/internal/codecs/base_decoders.hpp>
|
#include <async_mqtt5/impl/internal/codecs/base_decoders.hpp>
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
||||||
|
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
||||||
|
|
||||||
namespace async_mqtt5::detail {
|
namespace async_mqtt5::detail {
|
||||||
|
|
||||||
@@ -71,7 +71,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
void perform(
|
void perform(
|
||||||
const connect_op::epoints& eps, authority_path ap
|
const epoints& eps, authority_path ap
|
||||||
) {
|
) {
|
||||||
lowest_layer(_stream).async_connect(
|
lowest_layer(_stream).async_connect(
|
||||||
*std::begin(eps),
|
*std::begin(eps),
|
||||||
@@ -83,7 +83,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
void operator()(
|
void operator()(
|
||||||
on_connect, error_code ec, connect_op::endpoint ep, authority_path ap
|
on_connect, error_code ec, endpoint ep, authority_path ap
|
||||||
) {
|
) {
|
||||||
if (ec)
|
if (ec)
|
||||||
return complete(ec);
|
return complete(ec);
|
||||||
@@ -91,7 +91,7 @@ public:
|
|||||||
do_tls_handshake(std::move(ep), std::move(ap));
|
do_tls_handshake(std::move(ep), std::move(ap));
|
||||||
}
|
}
|
||||||
|
|
||||||
void do_tls_handshake(connect_op::endpoint ep, authority_path ap) {
|
void do_tls_handshake(endpoint ep, authority_path ap) {
|
||||||
if constexpr (has_tls_handshake<Stream>) {
|
if constexpr (has_tls_handshake<Stream>) {
|
||||||
_stream.async_handshake(
|
_stream.async_handshake(
|
||||||
tls_handshake_type<Stream>::client,
|
tls_handshake_type<Stream>::client,
|
||||||
@@ -116,7 +116,7 @@ public:
|
|||||||
|
|
||||||
void operator()(
|
void operator()(
|
||||||
on_tls_handshake, error_code ec,
|
on_tls_handshake, error_code ec,
|
||||||
connect_op::endpoint ep, authority_path ap
|
endpoint ep, authority_path ap
|
||||||
) {
|
) {
|
||||||
if (ec)
|
if (ec)
|
||||||
return complete(ec);
|
return complete(ec);
|
||||||
@@ -124,7 +124,7 @@ public:
|
|||||||
do_ws_handshake(std::move(ep), std::move(ap));
|
do_ws_handshake(std::move(ep), std::move(ap));
|
||||||
}
|
}
|
||||||
|
|
||||||
void do_ws_handshake(connect_op::endpoint ep, authority_path ap) {
|
void do_ws_handshake(endpoint ep, authority_path ap) {
|
||||||
if constexpr (has_ws_handshake<Stream>) {
|
if constexpr (has_ws_handshake<Stream>) {
|
||||||
using namespace boost::beast;
|
using namespace boost::beast;
|
||||||
|
|
||||||
@@ -173,7 +173,7 @@ public:
|
|||||||
|
|
||||||
const auto& wire_data = packet.wire_data();
|
const auto& wire_data = packet.wire_data();
|
||||||
|
|
||||||
async_mqtt5::detail::async_write(
|
detail::async_write(
|
||||||
_stream, asio::buffer(wire_data),
|
_stream, asio::buffer(wire_data),
|
||||||
asio::consign(
|
asio::consign(
|
||||||
asio::prepend(std::move(*this), on_send_connect{}),
|
asio::prepend(std::move(*this), on_send_connect{}),
|
||||||
|
@@ -1,14 +1,15 @@
|
|||||||
#ifndef ASYNC_MQTT5_DISCONNECT_OP_HPP
|
#ifndef ASYNC_MQTT5_DISCONNECT_OP_HPP
|
||||||
#define ASYNC_MQTT5_DISCONNECT_OP_HPP
|
#define ASYNC_MQTT5_DISCONNECT_OP_HPP
|
||||||
|
|
||||||
#include <boost/asio/prepend.hpp>
|
|
||||||
#include <boost/asio/consign.hpp>
|
#include <boost/asio/consign.hpp>
|
||||||
#include <boost/asio/dispatch.hpp>
|
#include <boost/asio/dispatch.hpp>
|
||||||
|
#include <boost/asio/prepend.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/types.hpp>
|
#include <async_mqtt5/types.hpp>
|
||||||
#include <async_mqtt5/detail/async_traits.hpp>
|
|
||||||
#include <async_mqtt5/detail/control_packet.hpp>
|
#include <async_mqtt5/detail/control_packet.hpp>
|
||||||
#include <async_mqtt5/detail/internal_types.hpp>
|
#include <async_mqtt5/detail/internal_types.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
||||||
|
|
||||||
namespace async_mqtt5::detail {
|
namespace async_mqtt5::detail {
|
||||||
@@ -119,18 +120,18 @@ decltype(auto) async_disconnect(
|
|||||||
using Signature = void (error_code);
|
using Signature = void (error_code);
|
||||||
|
|
||||||
auto initiate = [](
|
auto initiate = [](
|
||||||
auto handler, detail::disconnect_context ctx, bool terminal,
|
auto handler, disconnect_context ctx,
|
||||||
const std::shared_ptr<ClientService>& svc_ptr
|
const std::shared_ptr<ClientService>& svc_ptr
|
||||||
) {
|
) {
|
||||||
detail::disconnect_op {
|
disconnect_op {
|
||||||
svc_ptr, std::move(ctx), std::move(handler)
|
svc_ptr, std::move(ctx), std::move(handler)
|
||||||
}.perform();
|
}.perform();
|
||||||
};
|
};
|
||||||
|
|
||||||
return asio::async_initiate<CompletionToken, Signature>(
|
return asio::async_initiate<CompletionToken, Signature>(
|
||||||
std::move(initiate), token,
|
std::move(initiate), token,
|
||||||
detail::disconnect_context { reason_code, props, terminal },
|
disconnect_context { reason_code, props, terminal },
|
||||||
terminal, svc_ptr
|
svc_ptr
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,16 +1,19 @@
|
|||||||
#ifndef ASYNC_MQTT5_ENDPOINTS_HPP
|
#ifndef ASYNC_MQTT5_ENDPOINTS_HPP
|
||||||
#define ASYNC_MQTT5_ENDPOINTS_HPP
|
#define ASYNC_MQTT5_ENDPOINTS_HPP
|
||||||
|
|
||||||
#include <boost/asio/ip/tcp.hpp>
|
|
||||||
#include <boost/asio/prepend.hpp>
|
|
||||||
#include <boost/asio/append.hpp>
|
#include <boost/asio/append.hpp>
|
||||||
#include <boost/asio/deferred.hpp>
|
#include <boost/asio/deferred.hpp>
|
||||||
|
#include <boost/asio/dispatch.hpp>
|
||||||
|
#include <boost/asio/post.hpp>
|
||||||
|
#include <boost/asio/prepend.hpp>
|
||||||
|
|
||||||
#include <boost/asio/experimental/parallel_group.hpp>
|
#include <boost/asio/experimental/parallel_group.hpp>
|
||||||
|
|
||||||
|
#include <boost/asio/ip/tcp.hpp>
|
||||||
|
|
||||||
#include <boost/spirit/home/x3.hpp>
|
#include <boost/spirit/home/x3.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/detail/internal_types.hpp>
|
#include <async_mqtt5/types.hpp>
|
||||||
#include <async_mqtt5/detail/async_traits.hpp>
|
|
||||||
|
|
||||||
namespace async_mqtt5::detail {
|
namespace async_mqtt5::detail {
|
||||||
|
|
||||||
|
@@ -1,9 +1,6 @@
|
|||||||
#ifndef ASYNC_MQTT5_MEMORY_H
|
#ifndef ASYNC_MQTT5_MEMORY_H
|
||||||
#define ASYNC_MQTT5_MEMORY_H
|
#define ASYNC_MQTT5_MEMORY_H
|
||||||
|
|
||||||
#include <string>
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
#include "memory_resource.h"
|
#include "memory_resource.h"
|
||||||
|
|
||||||
namespace pma {
|
namespace pma {
|
||||||
|
@@ -3,11 +3,12 @@
|
|||||||
|
|
||||||
#include <boost/spirit/home/x3.hpp>
|
#include <boost/spirit/home/x3.hpp>
|
||||||
#include <boost/spirit/home/x3/binary/binary.hpp>
|
#include <boost/spirit/home/x3/binary/binary.hpp>
|
||||||
|
|
||||||
#include <boost/fusion/adapted/std_tuple.hpp>
|
#include <boost/fusion/adapted/std_tuple.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/property_types.hpp>
|
#include <async_mqtt5/property_types.hpp>
|
||||||
#include <async_mqtt5/impl/internal/codecs/traits.hpp>
|
|
||||||
|
|
||||||
|
#include <async_mqtt5/impl/internal/codecs/traits.hpp>
|
||||||
|
|
||||||
namespace async_mqtt5::decoders {
|
namespace async_mqtt5::decoders {
|
||||||
|
|
||||||
|
@@ -3,9 +3,11 @@
|
|||||||
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
#include <boost/endian/conversion.hpp>
|
#include <boost/endian/conversion.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/property_types.hpp>
|
#include <async_mqtt5/property_types.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/internal/codecs/traits.hpp>
|
#include <async_mqtt5/impl/internal/codecs/traits.hpp>
|
||||||
|
|
||||||
namespace async_mqtt5::encoders {
|
namespace async_mqtt5::encoders {
|
||||||
|
@@ -5,6 +5,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include <async_mqtt5/detail/internal_types.hpp>
|
#include <async_mqtt5/detail/internal_types.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/internal/codecs/base_decoders.hpp>
|
#include <async_mqtt5/impl/internal/codecs/base_decoders.hpp>
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
||||||
|
|
||||||
|
@@ -5,6 +5,7 @@
|
|||||||
#include <optional>
|
#include <optional>
|
||||||
|
|
||||||
#include <async_mqtt5/types.hpp>
|
#include <async_mqtt5/types.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/internal/codecs/base_encoders.hpp>
|
#include <async_mqtt5/impl/internal/codecs/base_encoders.hpp>
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
||||||
|
|
||||||
|
@@ -4,14 +4,14 @@
|
|||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include <boost/asio/prepend.hpp>
|
|
||||||
#include <boost/asio/consign.hpp>
|
#include <boost/asio/consign.hpp>
|
||||||
|
#include <boost/asio/prepend.hpp>
|
||||||
#include <boost/asio/recycling_allocator.hpp>
|
#include <boost/asio/recycling_allocator.hpp>
|
||||||
#include <boost/asio/cancellation_state.hpp>
|
|
||||||
#include <boost/asio/steady_timer.hpp>
|
#include <boost/asio/steady_timer.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/detail/internal_types.hpp>
|
|
||||||
#include <async_mqtt5/detail/control_packet.hpp>
|
#include <async_mqtt5/detail/control_packet.hpp>
|
||||||
|
#include <async_mqtt5/detail/internal_types.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
||||||
|
|
||||||
namespace async_mqtt5::detail {
|
namespace async_mqtt5::detail {
|
||||||
|
@@ -2,19 +2,21 @@
|
|||||||
#define ASYNC_MQTT5_PUBLISH_REC_OP_HPP
|
#define ASYNC_MQTT5_PUBLISH_REC_OP_HPP
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <boost/asio/prepend.hpp>
|
|
||||||
|
#include <boost/asio/consign.hpp>
|
||||||
#include <boost/asio/detached.hpp>
|
#include <boost/asio/detached.hpp>
|
||||||
#include <boost/asio/dispatch.hpp>
|
#include <boost/asio/prepend.hpp>
|
||||||
#include <boost/asio/post.hpp>
|
#include <boost/asio/recycling_allocator.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/error.hpp>
|
#include <async_mqtt5/error.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/property_types.hpp>
|
#include <async_mqtt5/property_types.hpp>
|
||||||
#include <async_mqtt5/detail/internal_types.hpp>
|
|
||||||
#include <async_mqtt5/detail/control_packet.hpp>
|
#include <async_mqtt5/detail/control_packet.hpp>
|
||||||
|
#include <async_mqtt5/detail/internal_types.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/disconnect_op.hpp>
|
#include <async_mqtt5/impl/disconnect_op.hpp>
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
||||||
|
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
||||||
|
|
||||||
namespace async_mqtt5::detail {
|
namespace async_mqtt5::detail {
|
||||||
|
|
||||||
@@ -69,7 +71,7 @@ public:
|
|||||||
auto puback = control_packet<allocator_type>::of(
|
auto puback = control_packet<allocator_type>::of(
|
||||||
with_pid, get_allocator(),
|
with_pid, get_allocator(),
|
||||||
encoders::encode_puback, *packet_id,
|
encoders::encode_puback, *packet_id,
|
||||||
uint8_t(0), puback_props{}
|
uint8_t(0), puback_props {}
|
||||||
);
|
);
|
||||||
return send_puback(std::move(puback));
|
return send_puback(std::move(puback));
|
||||||
}
|
}
|
||||||
@@ -78,7 +80,7 @@ public:
|
|||||||
auto pubrec = control_packet<allocator_type>::of(
|
auto pubrec = control_packet<allocator_type>::of(
|
||||||
with_pid, get_allocator(),
|
with_pid, get_allocator(),
|
||||||
encoders::encode_pubrec, *packet_id,
|
encoders::encode_pubrec, *packet_id,
|
||||||
uint8_t(0), pubrec_props{}
|
uint8_t(0), pubrec_props {}
|
||||||
);
|
);
|
||||||
|
|
||||||
return send_pubrec(std::move(pubrec));
|
return send_pubrec(std::move(pubrec));
|
||||||
|
@@ -2,18 +2,18 @@
|
|||||||
#define ASYNC_MQTT5_PUBLISH_SEND_OP_HPP
|
#define ASYNC_MQTT5_PUBLISH_SEND_OP_HPP
|
||||||
|
|
||||||
#include <boost/asio/detached.hpp>
|
#include <boost/asio/detached.hpp>
|
||||||
|
#include <boost/asio/prepend.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/error.hpp>
|
#include <async_mqtt5/error.hpp>
|
||||||
|
#include <async_mqtt5/types.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/detail/internal_types.hpp>
|
|
||||||
#include <async_mqtt5/detail/async_traits.hpp>
|
|
||||||
#include <async_mqtt5/detail/control_packet.hpp>
|
|
||||||
#include <async_mqtt5/detail/cancellable_handler.hpp>
|
#include <async_mqtt5/detail/cancellable_handler.hpp>
|
||||||
|
#include <async_mqtt5/detail/control_packet.hpp>
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
#include <async_mqtt5/detail/internal_types.hpp>
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
|
||||||
|
|
||||||
#include <async_mqtt5/impl/disconnect_op.hpp>
|
#include <async_mqtt5/impl/disconnect_op.hpp>
|
||||||
|
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
||||||
|
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
||||||
|
|
||||||
namespace async_mqtt5::detail {
|
namespace async_mqtt5::detail {
|
||||||
|
|
||||||
|
@@ -7,10 +7,13 @@
|
|||||||
#include <boost/asio/recycling_allocator.hpp>
|
#include <boost/asio/recycling_allocator.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/types.hpp>
|
#include <async_mqtt5/types.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/detail/control_packet.hpp>
|
#include <async_mqtt5/detail/control_packet.hpp>
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
|
||||||
#include <async_mqtt5/impl/publish_rec_op.hpp>
|
|
||||||
#include <async_mqtt5/impl/disconnect_op.hpp>
|
#include <async_mqtt5/impl/disconnect_op.hpp>
|
||||||
|
#include <async_mqtt5/impl/publish_rec_op.hpp>
|
||||||
|
|
||||||
|
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
||||||
|
|
||||||
namespace async_mqtt5::detail {
|
namespace async_mqtt5::detail {
|
||||||
|
|
||||||
@@ -76,6 +79,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
// TODO: ec & packet_id are not used here
|
||||||
void dispatch(
|
void dispatch(
|
||||||
error_code ec, uint16_t packet_id, uint8_t control_byte,
|
error_code ec, uint16_t packet_id, uint8_t control_byte,
|
||||||
byte_citer first, byte_citer last
|
byte_citer first, byte_citer last
|
||||||
@@ -106,6 +110,7 @@ private:
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
perform();
|
perform();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,8 +1,9 @@
|
|||||||
#ifndef ASYNC_MQTT5_READ_OP_HPP
|
#ifndef ASYNC_MQTT5_READ_OP_HPP
|
||||||
#define ASYNC_MQTT5_READ_OP_HPP
|
#define ASYNC_MQTT5_READ_OP_HPP
|
||||||
|
|
||||||
#include <boost/asio/prepend.hpp>
|
|
||||||
#include <boost/asio/deferred.hpp>
|
#include <boost/asio/deferred.hpp>
|
||||||
|
#include <boost/asio/prepend.hpp>
|
||||||
|
|
||||||
#include <boost/asio/experimental/parallel_group.hpp>
|
#include <boost/asio/experimental/parallel_group.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/detail/internal_types.hpp>
|
#include <async_mqtt5/detail/internal_types.hpp>
|
||||||
@@ -57,7 +58,6 @@ public:
|
|||||||
asioex::wait_for_one(),
|
asioex::wait_for_one(),
|
||||||
asio::prepend(std::move(*this), on_read {}, stream_ptr)
|
asio::prepend(std::move(*this), on_read {}, stream_ptr)
|
||||||
);
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
(*this)(
|
(*this)(
|
||||||
|
@@ -1,14 +1,18 @@
|
|||||||
#ifndef ASYNC_MQTT5_RECONNECT_OP_HPP
|
#ifndef ASYNC_MQTT5_RECONNECT_OP_HPP
|
||||||
#define ASYNC_MQTT5_RECONNECT_OP_HPP
|
#define ASYNC_MQTT5_RECONNECT_OP_HPP
|
||||||
|
|
||||||
#include <boost/asio/prepend.hpp>
|
|
||||||
#include <boost/asio/dispatch.hpp>
|
|
||||||
#include <boost/asio/deferred.hpp>
|
#include <boost/asio/deferred.hpp>
|
||||||
|
#include <boost/asio/dispatch.hpp>
|
||||||
|
#include <boost/asio/prepend.hpp>
|
||||||
|
|
||||||
#include <boost/asio/experimental/parallel_group.hpp>
|
#include <boost/asio/experimental/parallel_group.hpp>
|
||||||
|
|
||||||
#include <boost/asio/ip/tcp.hpp>
|
#include <boost/asio/ip/tcp.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/types.hpp>
|
#include <async_mqtt5/types.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/detail/async_traits.hpp>
|
#include <async_mqtt5/detail/async_traits.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/connect_op.hpp>
|
#include <async_mqtt5/impl/connect_op.hpp>
|
||||||
|
|
||||||
namespace async_mqtt5::detail {
|
namespace async_mqtt5::detail {
|
||||||
|
@@ -1,16 +1,13 @@
|
|||||||
#ifndef ASYNC_MQTT5_REPLIES_HPP
|
#ifndef ASYNC_MQTT5_REPLIES_HPP
|
||||||
#define ASYNC_MQTT5_REPLIES_HPP
|
#define ASYNC_MQTT5_REPLIES_HPP
|
||||||
|
|
||||||
#include <boost/asio/error.hpp>
|
|
||||||
#include <boost/asio/any_completion_handler.hpp>
|
#include <boost/asio/any_completion_handler.hpp>
|
||||||
#include <boost/asio/post.hpp>
|
|
||||||
#include <boost/asio/dispatch.hpp>
|
|
||||||
#include <boost/asio/consign.hpp>
|
#include <boost/asio/consign.hpp>
|
||||||
|
#include <boost/asio/error.hpp>
|
||||||
#include <async_mqtt5/error.hpp>
|
#include <boost/asio/post.hpp>
|
||||||
#include <async_mqtt5/detail/internal_types.hpp>
|
|
||||||
|
|
||||||
#include <async_mqtt5/detail/control_packet.hpp>
|
#include <async_mqtt5/detail/control_packet.hpp>
|
||||||
|
#include <async_mqtt5/detail/internal_types.hpp>
|
||||||
|
|
||||||
namespace async_mqtt5::detail {
|
namespace async_mqtt5::detail {
|
||||||
|
|
||||||
|
@@ -1,14 +1,17 @@
|
|||||||
#ifndef ASYNC_MQTT5_SENTRY_OP_HPP
|
#ifndef ASYNC_MQTT5_SENTRY_OP_HPP
|
||||||
#define ASYNC_MQTT5_SENTRY_OP_HPP
|
#define ASYNC_MQTT5_SENTRY_OP_HPP
|
||||||
|
|
||||||
|
#include <boost/asio/cancellation_signal.hpp>
|
||||||
#include <boost/asio/error.hpp>
|
#include <boost/asio/error.hpp>
|
||||||
#include <boost/asio/recycling_allocator.hpp>
|
|
||||||
#include <boost/asio/prepend.hpp>
|
#include <boost/asio/prepend.hpp>
|
||||||
#include <boost/asio/cancellation_state.hpp>
|
#include <boost/asio/recycling_allocator.hpp>
|
||||||
#include <boost/asio/steady_timer.hpp>
|
#include <boost/asio/steady_timer.hpp>
|
||||||
|
|
||||||
|
#include <async_mqtt5/error.hpp>
|
||||||
#include <async_mqtt5/types.hpp>
|
#include <async_mqtt5/types.hpp>
|
||||||
|
|
||||||
|
#include <async_mqtt5/impl/disconnect_op.hpp>
|
||||||
|
|
||||||
namespace async_mqtt5::detail {
|
namespace async_mqtt5::detail {
|
||||||
|
|
||||||
namespace asio = boost::asio;
|
namespace asio = boost::asio;
|
||||||
|
@@ -5,13 +5,12 @@
|
|||||||
|
|
||||||
#include <async_mqtt5/error.hpp>
|
#include <async_mqtt5/error.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/detail/internal_types.hpp>
|
|
||||||
#include <async_mqtt5/detail/async_traits.hpp>
|
|
||||||
#include <async_mqtt5/detail/control_packet.hpp>
|
|
||||||
#include <async_mqtt5/detail/cancellable_handler.hpp>
|
#include <async_mqtt5/detail/cancellable_handler.hpp>
|
||||||
|
#include <async_mqtt5/detail/control_packet.hpp>
|
||||||
|
#include <async_mqtt5/detail/internal_types.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
||||||
|
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/disconnect_op.hpp>
|
#include <async_mqtt5/impl/disconnect_op.hpp>
|
||||||
|
|
||||||
|
@@ -1,18 +1,18 @@
|
|||||||
#ifndef ASYNC_MQTT5_UNSUBSCRIBE_OP_HPP
|
#ifndef ASYNC_MQTT5_UNSUBSCRIBE_OP_HPP
|
||||||
#define ASYNC_MQTT5_UNSUBSCRIBE_OP_HPP
|
#define ASYNC_MQTT5_UNSUBSCRIBE_OP_HPP
|
||||||
|
|
||||||
|
#include <boost/asio/associated_allocator.hpp>
|
||||||
#include <boost/asio/detached.hpp>
|
#include <boost/asio/detached.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/error.hpp>
|
#include <async_mqtt5/error.hpp>
|
||||||
#include <async_mqtt5/detail/internal_types.hpp>
|
|
||||||
#include <async_mqtt5/detail/async_traits.hpp>
|
|
||||||
#include <async_mqtt5/detail/control_packet.hpp>
|
|
||||||
#include <async_mqtt5/detail/cancellable_handler.hpp>
|
|
||||||
|
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
#include <async_mqtt5/detail/cancellable_handler.hpp>
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
#include <async_mqtt5/detail/control_packet.hpp>
|
||||||
|
#include <async_mqtt5/detail/internal_types.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/disconnect_op.hpp>
|
#include <async_mqtt5/impl/disconnect_op.hpp>
|
||||||
|
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
||||||
|
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
||||||
|
|
||||||
namespace async_mqtt5::detail {
|
namespace async_mqtt5::detail {
|
||||||
|
|
||||||
@@ -144,7 +144,7 @@ private:
|
|||||||
void on_malformed_packet(
|
void on_malformed_packet(
|
||||||
const std::string& reason
|
const std::string& reason
|
||||||
) {
|
) {
|
||||||
auto props = disconnect_props{};
|
auto props = disconnect_props {};
|
||||||
props[prop::reason_string] = reason;
|
props[prop::reason_string] = reason;
|
||||||
async_disconnect(
|
async_disconnect(
|
||||||
disconnect_rc_e::malformed_packet, props, false, _svc_ptr,
|
disconnect_rc_e::malformed_packet, props, false, _svc_ptr,
|
||||||
|
@@ -1,11 +1,10 @@
|
|||||||
#ifndef ASYNC_MQTT5_WRITE_OP_HPP
|
#ifndef ASYNC_MQTT5_WRITE_OP_HPP
|
||||||
#define ASYNC_MQTT5_WRITE_OP_HPP
|
#define ASYNC_MQTT5_WRITE_OP_HPP
|
||||||
|
|
||||||
|
#include <boost/asio/dispatch.hpp>
|
||||||
#include <boost/asio/prepend.hpp>
|
#include <boost/asio/prepend.hpp>
|
||||||
#include <boost/asio/write.hpp>
|
#include <boost/asio/write.hpp>
|
||||||
#include <boost/asio/dispatch.hpp>
|
|
||||||
|
|
||||||
#include <async_mqtt5/detail/internal_types.hpp>
|
|
||||||
#include <async_mqtt5/detail/async_traits.hpp>
|
#include <async_mqtt5/detail/async_traits.hpp>
|
||||||
|
|
||||||
namespace async_mqtt5::detail {
|
namespace async_mqtt5::detail {
|
||||||
|
@@ -1,9 +1,14 @@
|
|||||||
#ifndef ASYNC_MQTT5_MQTT_CLIENT_HPP
|
#ifndef ASYNC_MQTT5_MQTT_CLIENT_HPP
|
||||||
#define ASYNC_MQTT5_MQTT_CLIENT_HPP
|
#define ASYNC_MQTT5_MQTT_CLIENT_HPP
|
||||||
|
|
||||||
|
#include <boost/system/error_code.hpp>
|
||||||
|
|
||||||
|
#include <async_mqtt5/error.hpp>
|
||||||
|
#include <async_mqtt5/types.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/client_service.hpp>
|
#include <async_mqtt5/impl/client_service.hpp>
|
||||||
#include <async_mqtt5/impl/read_message_op.hpp>
|
|
||||||
#include <async_mqtt5/impl/publish_send_op.hpp>
|
#include <async_mqtt5/impl/publish_send_op.hpp>
|
||||||
|
#include <async_mqtt5/impl/read_message_op.hpp>
|
||||||
#include <async_mqtt5/impl/subscribe_op.hpp>
|
#include <async_mqtt5/impl/subscribe_op.hpp>
|
||||||
#include <async_mqtt5/impl/unsubscribe_op.hpp>
|
#include <async_mqtt5/impl/unsubscribe_op.hpp>
|
||||||
|
|
||||||
|
@@ -3,11 +3,11 @@
|
|||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include <boost/system/error_code.hpp>
|
#include <boost/system/error_code.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/property_types.hpp>
|
|
||||||
#include <async_mqtt5/error.hpp>
|
#include <async_mqtt5/error.hpp>
|
||||||
|
#include <async_mqtt5/property_types.hpp>
|
||||||
|
|
||||||
namespace async_mqtt5 {
|
namespace async_mqtt5 {
|
||||||
|
|
||||||
|
@@ -4,9 +4,8 @@
|
|||||||
#include <chrono>
|
#include <chrono>
|
||||||
|
|
||||||
#include <boost/asio/append.hpp>
|
#include <boost/asio/append.hpp>
|
||||||
#include <boost/asio/cancellation_signal.hpp>
|
|
||||||
#include <boost/asio/cancellation_state.hpp>
|
|
||||||
#include <boost/asio/bind_cancellation_slot.hpp>
|
#include <boost/asio/bind_cancellation_slot.hpp>
|
||||||
|
#include <boost/asio/cancellation_signal.hpp>
|
||||||
#include <boost/asio/dispatch.hpp>
|
#include <boost/asio/dispatch.hpp>
|
||||||
#include <boost/asio/prepend.hpp>
|
#include <boost/asio/prepend.hpp>
|
||||||
#include <boost/asio/recycling_allocator.hpp>
|
#include <boost/asio/recycling_allocator.hpp>
|
||||||
|
@@ -7,16 +7,10 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include <boost/asio/append.hpp>
|
|
||||||
#include <boost/asio/detached.hpp>
|
|
||||||
#include <boost/asio/steady_timer.hpp>
|
|
||||||
|
|
||||||
#include "test_common/delayed_op.hpp"
|
#include "test_common/delayed_op.hpp"
|
||||||
|
|
||||||
namespace async_mqtt5::test {
|
namespace async_mqtt5::test {
|
||||||
|
|
||||||
namespace asio = boost::asio;
|
|
||||||
|
|
||||||
using error_code = boost::system::error_code;
|
using error_code = boost::system::error_code;
|
||||||
using time_stamp = std::chrono::time_point<std::chrono::steady_clock>;
|
using time_stamp = std::chrono::time_point<std::chrono::steady_clock>;
|
||||||
using duration = time_stamp::duration;
|
using duration = time_stamp::duration;
|
||||||
|
@@ -1,15 +1,16 @@
|
|||||||
#ifndef ASYNC_MQTT5_TEST_PACKET_UTIL_HPP
|
#ifndef ASYNC_MQTT5_TEST_PACKET_UTIL_HPP
|
||||||
#define ASYNC_MQTT5_TEST_PACKET_UTIL_HPP
|
#define ASYNC_MQTT5_TEST_PACKET_UTIL_HPP
|
||||||
|
|
||||||
#include <unordered_map>
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
#include <async_mqtt5/detail/control_packet.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
||||||
#include <async_mqtt5/detail/control_packet.hpp>
|
|
||||||
|
|
||||||
namespace async_mqtt5::test {
|
namespace async_mqtt5::test {
|
||||||
|
|
||||||
|
using error_code = boost::system::error_code;
|
||||||
|
|
||||||
inline qos_e extract_qos(uint8_t flags) {
|
inline qos_e extract_qos(uint8_t flags) {
|
||||||
auto byte = (flags & 0b0110) >> 1;
|
auto byte = (flags & 0b0110) >> 1;
|
||||||
|
@@ -9,18 +9,18 @@
|
|||||||
#include <boost/asio/any_completion_handler.hpp>
|
#include <boost/asio/any_completion_handler.hpp>
|
||||||
#include <boost/asio/any_io_executor.hpp>
|
#include <boost/asio/any_io_executor.hpp>
|
||||||
#include <boost/asio/cancellation_signal.hpp>
|
#include <boost/asio/cancellation_signal.hpp>
|
||||||
#include <boost/asio/bind_cancellation_slot.hpp>
|
|
||||||
#include <boost/asio/ip/tcp.hpp>
|
|
||||||
#include <boost/asio/post.hpp>
|
#include <boost/asio/post.hpp>
|
||||||
#include <boost/asio/prepend.hpp>
|
#include <boost/asio/prepend.hpp>
|
||||||
|
|
||||||
|
#include <boost/asio/ip/tcp.hpp>
|
||||||
|
|
||||||
#include <boost/test/included/unit_test.hpp>
|
#include <boost/test/included/unit_test.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
||||||
|
|
||||||
#include "test_common/protocol_logging.hpp"
|
|
||||||
#include "test_common/message_exchange.hpp"
|
#include "test_common/message_exchange.hpp"
|
||||||
#include "test_common/packet_util.hpp"
|
#include "test_common/packet_util.hpp"
|
||||||
|
#include "test_common/protocol_logging.hpp"
|
||||||
|
|
||||||
|
|
||||||
namespace async_mqtt5::test {
|
namespace async_mqtt5::test {
|
||||||
|
@@ -1,9 +1,8 @@
|
|||||||
#ifndef ASYNC_MQTT5_TEST_TEST_SERVICE_HPP
|
#ifndef ASYNC_MQTT5_TEST_TEST_SERVICE_HPP
|
||||||
#define ASYNC_MQTT5_TEST_TEST_SERVICE_HPP
|
#define ASYNC_MQTT5_TEST_TEST_SERVICE_HPP
|
||||||
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
#include <boost/asio/any_io_executor.hpp>
|
#include <boost/asio/any_io_executor.hpp>
|
||||||
|
#include <boost/asio/associated_executor.hpp>
|
||||||
#include <boost/asio/post.hpp>
|
#include <boost/asio/post.hpp>
|
||||||
#include <boost/asio/prepend.hpp>
|
#include <boost/asio/prepend.hpp>
|
||||||
|
|
||||||
@@ -11,6 +10,8 @@
|
|||||||
|
|
||||||
namespace async_mqtt5::test {
|
namespace async_mqtt5::test {
|
||||||
|
|
||||||
|
namespace asio = boost::asio;
|
||||||
|
|
||||||
template <
|
template <
|
||||||
typename StreamType,
|
typename StreamType,
|
||||||
typename TlsContext = std::monostate
|
typename TlsContext = std::monostate
|
||||||
@@ -31,13 +32,13 @@ public:
|
|||||||
CompletionToken&& token
|
CompletionToken&& token
|
||||||
) {
|
) {
|
||||||
auto initiation = [this](auto handler) {
|
auto initiation = [this](auto handler) {
|
||||||
auto ex = boost::asio::get_associated_executor(handler, _ex);
|
auto ex = asio::get_associated_executor(handler, _ex);
|
||||||
boost::asio::post(ex,
|
asio::post(ex,
|
||||||
boost::asio::prepend(std::move(handler), error_code {})
|
asio::prepend(std::move(handler), error_code {})
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
return boost::asio::async_initiate<
|
return asio::async_initiate<
|
||||||
CompletionToken, void (error_code)
|
CompletionToken, void (error_code)
|
||||||
> (std::move(initiation), token);
|
> (std::move(initiation), token);
|
||||||
}
|
}
|
||||||
|
@@ -3,18 +3,17 @@
|
|||||||
|
|
||||||
#include <boost/asio/dispatch.hpp>
|
#include <boost/asio/dispatch.hpp>
|
||||||
#include <boost/asio/execution_context.hpp>
|
#include <boost/asio/execution_context.hpp>
|
||||||
#include <boost/asio/recycling_allocator.hpp>
|
|
||||||
#include <boost/asio/prepend.hpp>
|
|
||||||
#include <boost/asio/post.hpp>
|
#include <boost/asio/post.hpp>
|
||||||
|
#include <boost/asio/prepend.hpp>
|
||||||
|
#include <boost/asio/recycling_allocator.hpp>
|
||||||
|
|
||||||
#include <boost/asio/ip/tcp.hpp>
|
#include <boost/asio/ip/tcp.hpp>
|
||||||
#include <boost/asio/experimental/channel.hpp>
|
|
||||||
|
|
||||||
#include "test_common/test_broker.hpp"
|
#include "test_common/test_broker.hpp"
|
||||||
|
|
||||||
namespace async_mqtt5::test {
|
namespace async_mqtt5::test {
|
||||||
|
|
||||||
namespace asio = boost::asio;
|
namespace asio = boost::asio;
|
||||||
namespace asioex = asio::experimental;
|
|
||||||
|
|
||||||
using error_code = boost::system::error_code;
|
using error_code = boost::system::error_code;
|
||||||
using time_stamp = std::chrono::time_point<std::chrono::steady_clock>;
|
using time_stamp = std::chrono::time_point<std::chrono::steady_clock>;
|
||||||
|
@@ -1,4 +1,5 @@
|
|||||||
#include <boost/test/unit_test.hpp>
|
#include <boost/test/unit_test.hpp>
|
||||||
|
|
||||||
#include <test_common/protocol_logging.hpp>
|
#include <test_common/protocol_logging.hpp>
|
||||||
|
|
||||||
boost::unit_test::test_suite* init_tests(
|
boost::unit_test::test_suite* init_tests(
|
||||||
|
@@ -1,15 +1,16 @@
|
|||||||
|
#include <boost/test/unit_test.hpp>
|
||||||
|
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
|
|
||||||
#include <boost/asio/io_context.hpp>
|
#include <boost/asio/io_context.hpp>
|
||||||
#include <boost/asio/steady_timer.hpp>
|
#include <boost/asio/steady_timer.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5.hpp>
|
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
||||||
|
|
||||||
#include "test_common/test_stream.hpp"
|
#include <async_mqtt5.hpp>
|
||||||
#include "test_common/message_exchange.hpp"
|
|
||||||
|
|
||||||
#include <boost/test/unit_test.hpp>
|
#include "test_common/message_exchange.hpp"
|
||||||
|
#include "test_common/test_stream.hpp"
|
||||||
|
|
||||||
using namespace async_mqtt5;
|
using namespace async_mqtt5;
|
||||||
|
|
||||||
|
@@ -1,7 +1,5 @@
|
|||||||
#include <boost/test/unit_test.hpp>
|
#include <boost/test/unit_test.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5.hpp>
|
|
||||||
|
|
||||||
#include <boost/asio/co_spawn.hpp>
|
#include <boost/asio/co_spawn.hpp>
|
||||||
#include <boost/asio/detached.hpp>
|
#include <boost/asio/detached.hpp>
|
||||||
#include <boost/asio/io_context.hpp>
|
#include <boost/asio/io_context.hpp>
|
||||||
@@ -10,6 +8,8 @@
|
|||||||
|
|
||||||
#include <boost/beast/websocket.hpp>
|
#include <boost/beast/websocket.hpp>
|
||||||
|
|
||||||
|
#include <async_mqtt5.hpp>
|
||||||
|
|
||||||
BOOST_AUTO_TEST_SUITE(coroutine/*, *boost::unit_test::disabled()*/)
|
BOOST_AUTO_TEST_SUITE(coroutine/*, *boost::unit_test::disabled()*/)
|
||||||
|
|
||||||
using namespace async_mqtt5;
|
using namespace async_mqtt5;
|
||||||
|
@@ -6,6 +6,7 @@
|
|||||||
#include <boost/asio/steady_timer.hpp>
|
#include <boost/asio/steady_timer.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/error.hpp>
|
#include <async_mqtt5/error.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/client_service.hpp>
|
#include <async_mqtt5/impl/client_service.hpp>
|
||||||
#include <async_mqtt5/impl/publish_send_op.hpp>
|
#include <async_mqtt5/impl/publish_send_op.hpp>
|
||||||
|
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
#include <boost/test/unit_test.hpp>
|
#include <boost/test/unit_test.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/types.hpp>
|
#include <async_mqtt5/types.hpp>
|
||||||
|
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
#include <async_mqtt5/impl/internal/codecs/message_decoders.hpp>
|
||||||
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
#include <async_mqtt5/impl/internal/codecs/message_encoders.hpp>
|
||||||
|
|
||||||
|
@@ -55,9 +55,9 @@
|
|||||||
<ClInclude Include="..\include\async_mqtt5\impl\subscribe_op.hpp" />
|
<ClInclude Include="..\include\async_mqtt5\impl\subscribe_op.hpp" />
|
||||||
<ClInclude Include="..\include\async_mqtt5\impl\unsubscribe_op.hpp" />
|
<ClInclude Include="..\include\async_mqtt5\impl\unsubscribe_op.hpp" />
|
||||||
<ClInclude Include="..\include\async_mqtt5\impl\write_op.hpp" />
|
<ClInclude Include="..\include\async_mqtt5\impl\write_op.hpp" />
|
||||||
|
<ClInclude Include="..\include\async_mqtt5\mqtt_client.hpp" />
|
||||||
<ClInclude Include="..\include\async_mqtt5\property_types.hpp" />
|
<ClInclude Include="..\include\async_mqtt5\property_types.hpp" />
|
||||||
<ClInclude Include="..\include\async_mqtt5\types.hpp" />
|
<ClInclude Include="..\include\async_mqtt5\types.hpp" />
|
||||||
<ClInclude Include="..\include\mqtt_client.hpp" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\example\openssl-tls.cpp" />
|
<ClCompile Include="..\example\openssl-tls.cpp" />
|
||||||
|
@@ -147,12 +147,12 @@
|
|||||||
<ClInclude Include="..\include\async_mqtt5\error.hpp">
|
<ClInclude Include="..\include\async_mqtt5\error.hpp">
|
||||||
<Filter>Header Files\include</Filter>
|
<Filter>Header Files\include</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\include\mqtt_client.hpp">
|
|
||||||
<Filter>Header Files\include</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\include\async_mqtt5.hpp">
|
<ClInclude Include="..\include\async_mqtt5.hpp">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\include\async_mqtt5\mqtt_client.hpp">
|
||||||
|
<Filter>Header Files\include</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\example\openssl-tls.cpp">
|
<ClCompile Include="..\example\openssl-tls.cpp">
|
||||||
|
@@ -18,13 +18,6 @@
|
|||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="..\..\test\unit\src\run_tests.cpp" />
|
|
||||||
<ClCompile Include="..\..\test\unit\test\client_broker.cpp" />
|
|
||||||
<ClCompile Include="..\..\test\unit\test\coroutine.cpp" />
|
|
||||||
<ClCompile Include="..\..\test\unit\test\publish_send_op.cpp" />
|
|
||||||
<ClCompile Include="..\..\test\unit\test\serialization.cpp" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\test\unit\include\test_common\delayed_op.hpp" />
|
<ClInclude Include="..\..\test\unit\include\test_common\delayed_op.hpp" />
|
||||||
<ClInclude Include="..\..\test\unit\include\test_common\message_exchange.hpp" />
|
<ClInclude Include="..\..\test\unit\include\test_common\message_exchange.hpp" />
|
||||||
@@ -34,6 +27,13 @@
|
|||||||
<ClInclude Include="..\..\test\unit\include\test_common\test_service.hpp" />
|
<ClInclude Include="..\..\test\unit\include\test_common\test_service.hpp" />
|
||||||
<ClInclude Include="..\..\test\unit\include\test_common\test_stream.hpp" />
|
<ClInclude Include="..\..\test\unit\include\test_common\test_stream.hpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\test\unit\src\run_tests.cpp" />
|
||||||
|
<ClCompile Include="..\..\test\unit\test\client_broker.cpp" />
|
||||||
|
<ClCompile Include="..\..\test\unit\test\coroutine.cpp" />
|
||||||
|
<ClCompile Include="..\..\test\unit\test\publish_send_op.cpp" />
|
||||||
|
<ClCompile Include="..\..\test\unit\test\serialization.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<VCProjectVersion>16.0</VCProjectVersion>
|
<VCProjectVersion>16.0</VCProjectVersion>
|
||||||
<Keyword>Win32Proj</Keyword>
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
@@ -13,29 +13,12 @@
|
|||||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter Include="Source Files\test">
|
|
||||||
<UniqueIdentifier>{237ad32b-00b2-42f0-8b54-e4f62a437742}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Header Files\test_common">
|
<Filter Include="Header Files\test_common">
|
||||||
<UniqueIdentifier>{6361a7f6-7954-4ea3-a2a7-f3b15537a3ac}</UniqueIdentifier>
|
<UniqueIdentifier>{6361a7f6-7954-4ea3-a2a7-f3b15537a3ac}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
</ItemGroup>
|
<Filter Include="Source Files\test">
|
||||||
<ItemGroup>
|
<UniqueIdentifier>{cf0bb550-9227-400c-9e0a-8b38fe2c32a3}</UniqueIdentifier>
|
||||||
<ClCompile Include="..\..\test\unit\test\client_broker.cpp">
|
</Filter>
|
||||||
<Filter>Source Files\test</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\test\unit\test\coroutine.cpp">
|
|
||||||
<Filter>Source Files\test</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\test\unit\test\publish_send_op.cpp">
|
|
||||||
<Filter>Source Files\test</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\test\unit\test\serialization.cpp">
|
|
||||||
<Filter>Source Files\test</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\test\unit\src\run_tests.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\test\unit\include\test_common\delayed_op.hpp">
|
<ClInclude Include="..\..\test\unit\include\test_common\delayed_op.hpp">
|
||||||
@@ -60,4 +43,21 @@
|
|||||||
<Filter>Header Files\test_common</Filter>
|
<Filter>Header Files\test_common</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\test\unit\test\client_broker.cpp">
|
||||||
|
<Filter>Source Files\test</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\test\unit\test\coroutine.cpp">
|
||||||
|
<Filter>Source Files\test</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\test\unit\test\publish_send_op.cpp">
|
||||||
|
<Filter>Source Files\test</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\test\unit\test\serialization.cpp">
|
||||||
|
<Filter>Source Files\test</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\test\unit\src\run_tests.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
Reference in New Issue
Block a user