Skip to content

Commit 0d9e718

Browse files
authored
Merge pull request #952 from redboltz/fix_executor_as_strand
Removed old TS code.
2 parents 0b6a831 + f04c68b commit 0d9e718

File tree

9 files changed

+10
-140
lines changed

9 files changed

+10
-140
lines changed

Diff for: .github/workflows/gha.yml

+8-8
Original file line numberDiff line numberDiff line change
@@ -73,14 +73,14 @@ jobs:
7373
export CFLAGS=${S_CFLAGS} && export CXXFLAGS=${S_CXXFLAGS} && export LDFLAGS=${S_LDFLAGS}
7474
[ ${{ matrix.pattern }} == 0 ] || [ ${{ matrix.pattern }} == 4 ] || [ ${{ matrix.pattern }} == 5 ] || [ ${{ matrix.pattern }} == 6 ] || [ ${{ matrix.pattern }} == 7 ] && \
7575
export CFLAGS=${NS_CFLAGS} && export CXXFLAGS=${NS_CXXFLAGS} && export LDFLAGS=${NS_LDFLAGS}
76-
[ ${{ matrix.pattern }} == 0 ] && FLAGS="-DCMAKE_CXX_COMPILER=clang++ -DMQTT_TEST_1=ON -DMQTT_TEST_2=ON -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_TLS=OFF -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_LOG=ON -DMQTT_STD_ANY=OFF -DMQTT_STD_OPTIONAL=OFF -DMQTT_STD_VARIANT=OFF -DMQTT_STD_STRING_VIEW=OFF -DMQTT_STD_SHARED_PTR_ARRAY=OFF -DMQTT_NO_TS_EXECUTORS=OFF"
77-
[ ${{ matrix.pattern }} == 1 ] && FLAGS="-DCMAKE_CXX_COMPILER=clang++ -DMQTT_TEST_1=ON -DMQTT_TEST_2=ON -DMQTT_TEST_3=ON -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_TLS=ON -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_LOG=OFF -DMQTT_STD_ANY=OFF -DMQTT_STD_OPTIONAL=OFF -DMQTT_STD_VARIANT=OFF -DMQTT_STD_STRING_VIEW=OFF -DMQTT_STD_SHARED_PTR_ARRAY=OFF -DMQTT_NO_TS_EXECUTORS=OFF"
78-
[ ${{ matrix.pattern }} == 2 ] && FLAGS="-DCMAKE_CXX_COMPILER=clang++ -DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=ON -DMQTT_TEST_5=ON -DMQTT_TEST_6=ON -DMQTT_TEST_7=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_TLS=ON -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_LOG=OFF -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON -DMQTT_STD_SHARED_PTR_ARRAY=OFF -DMQTT_NO_TS_EXECUTORS=OFF"
79-
[ ${{ matrix.pattern }} == 3 ] && FLAGS="-DCMAKE_CXX_COMPILER=clang++ -DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=ON -DMQTT_BUILD_EXAMPLES=ON -DMQTT_USE_TLS=ON -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_LOG=OFF -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON -DMQTT_STD_SHARED_PTR_ARRAY=OFF -DMQTT_NO_TS_EXECUTORS=OFF"
80-
[ ${{ matrix.pattern }} == 4 ] && FLAGS="-DCMAKE_CXX_COMPILER=g++ -DMQTT_CODECOV=ON -DMQTT_TEST_1=ON -DMQTT_TEST_2=ON -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_TLS=OFF -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_LOG=ON -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON -DMQTT_STD_SHARED_PTR_ARRAY=ON -DMQTT_NO_TS_EXECUTORS=ON"
81-
[ ${{ matrix.pattern }} == 5 ] && FLAGS="-DCMAKE_CXX_COMPILER=g++ -DMQTT_CODECOV=ON -DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=ON -DMQTT_TEST_4=ON -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_TLS=OFF -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_LOG=OFF -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON -DMQTT_STD_SHARED_PTR_ARRAY=OFF -DMQTT_NO_TS_EXECUTORS=OFF"
82-
[ ${{ matrix.pattern }} == 6 ] && FLAGS="-DCMAKE_CXX_COMPILER=g++ -DMQTT_CODECOV=ON -DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=ON -DMQTT_TEST_6=ON -DMQTT_TEST_7=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_TLS=ON -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_LOG=OFF -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON -DMQTT_STD_SHARED_PTR_ARRAY=OFF -DMQTT_NO_TS_EXECUTORS=OFF"
83-
[ ${{ matrix.pattern }} == 7 ] && FLAGS="-DCMAKE_CXX_COMPILER=g++ -DMQTT_CODECOV=ON -DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=ON -DMQTT_BUILD_EXAMPLES=ON -DMQTT_USE_TLS=ON -DMQTT_USE_WS=OFF -DMQTT_USE_STR_CHECK=OFF -DMQTT_USE_LOG=ON -DMQTT_STD_ANY=OFF -DMQTT_STD_OPTIONAL=OFF -DMQTT_STD_VARIANT=OFF -DMQTT_STD_STRING_VIEW=OFF -DMQTT_STD_SHARED_PTR_ARRAY=OFF -DMQTT_NO_TS_EXECUTORS=OFF"
76+
[ ${{ matrix.pattern }} == 0 ] && FLAGS="-DCMAKE_CXX_COMPILER=clang++ -DMQTT_TEST_1=ON -DMQTT_TEST_2=ON -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_TLS=OFF -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_LOG=ON -DMQTT_STD_ANY=OFF -DMQTT_STD_OPTIONAL=OFF -DMQTT_STD_VARIANT=OFF -DMQTT_STD_STRING_VIEW=OFF -DMQTT_STD_SHARED_PTR_ARRAY=OFF"
77+
[ ${{ matrix.pattern }} == 1 ] && FLAGS="-DCMAKE_CXX_COMPILER=clang++ -DMQTT_TEST_1=ON -DMQTT_TEST_2=ON -DMQTT_TEST_3=ON -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_TLS=ON -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_LOG=OFF -DMQTT_STD_ANY=OFF -DMQTT_STD_OPTIONAL=OFF -DMQTT_STD_VARIANT=OFF -DMQTT_STD_STRING_VIEW=OFF -DMQTT_STD_SHARED_PTR_ARRAY=OFF"
78+
[ ${{ matrix.pattern }} == 2 ] && FLAGS="-DCMAKE_CXX_COMPILER=clang++ -DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=ON -DMQTT_TEST_5=ON -DMQTT_TEST_6=ON -DMQTT_TEST_7=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_TLS=ON -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_LOG=OFF -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON -DMQTT_STD_SHARED_PTR_ARRAY=OFF"
79+
[ ${{ matrix.pattern }} == 3 ] && FLAGS="-DCMAKE_CXX_COMPILER=clang++ -DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=ON -DMQTT_BUILD_EXAMPLES=ON -DMQTT_USE_TLS=ON -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_LOG=OFF -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON -DMQTT_STD_SHARED_PTR_ARRAY=OFF"
80+
[ ${{ matrix.pattern }} == 4 ] && FLAGS="-DCMAKE_CXX_COMPILER=g++ -DMQTT_CODECOV=ON -DMQTT_TEST_1=ON -DMQTT_TEST_2=ON -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_TLS=OFF -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_LOG=ON -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON -DMQTT_STD_SHARED_PTR_ARRAY=ON"
81+
[ ${{ matrix.pattern }} == 5 ] && FLAGS="-DCMAKE_CXX_COMPILER=g++ -DMQTT_CODECOV=ON -DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=ON -DMQTT_TEST_4=ON -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_TLS=OFF -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_LOG=OFF -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON -DMQTT_STD_SHARED_PTR_ARRAY=OFF"
82+
[ ${{ matrix.pattern }} == 6 ] && FLAGS="-DCMAKE_CXX_COMPILER=g++ -DMQTT_CODECOV=ON -DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=ON -DMQTT_TEST_6=ON -DMQTT_TEST_7=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_TLS=ON -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_LOG=OFF -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON -DMQTT_STD_SHARED_PTR_ARRAY=OFF"
83+
[ ${{ matrix.pattern }} == 7 ] && FLAGS="-DCMAKE_CXX_COMPILER=g++ -DMQTT_CODECOV=ON -DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=ON -DMQTT_BUILD_EXAMPLES=ON -DMQTT_USE_TLS=ON -DMQTT_USE_WS=OFF -DMQTT_USE_STR_CHECK=OFF -DMQTT_USE_LOG=ON -DMQTT_STD_ANY=OFF -DMQTT_STD_OPTIONAL=OFF -DMQTT_STD_VARIANT=OFF -DMQTT_STD_STRING_VIEW=OFF -DMQTT_STD_SHARED_PTR_ARRAY=OFF"
8484
8585
echo "begin"
8686
echo ${{env.BOOST_ROOT}}

Diff for: CMakeLists.txt

-8
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ OPTION(MQTT_STD_STRING_VIEW "Use std::string_view from C++17 instead of boost::s
2222
OPTION(MQTT_STD_ANY "Use std::any from C++17 instead of boost::any" OFF)
2323
OPTION(MQTT_STD_SHARED_PTR_ARRAY "Use std::shared_ptr<char[]> from C++17 instead of boost::shared_ptr<char[]>" OFF)
2424
OPTION(MQTT_DISABLE_LIBSTDCXX_TUPLE_ANY_WORKAROUND "std::tuple<std::any> workaround for libstdc++" OFF)
25-
OPTION(MQTT_NO_TS_EXECUTORS "Use standard executors instead of Networking TS-style executors" OFF)
2625

2726
IF (POLICY CMP0074)
2827
CMAKE_POLICY(SET CMP0074 NEW)
@@ -88,13 +87,6 @@ ELSE ()
8887
MESSAGE (STATUS "std::tuple<std::any> workaround for libstdc++ enabled")
8988
ENDIF ()
9089

91-
IF (MQTT_NO_TS_EXECUTORS)
92-
MESSAGE (STATUS "Using standard executors instead of Networking TS-style executors")
93-
ELSE ()
94-
MESSAGE (STATUS "Using Networking TS-style executors instead of standard executors")
95-
ENDIF ()
96-
97-
9890
IF ( MQTT_STD_VARIANT
9991
OR MQTT_STD_OPTIONAL
10092
OR MQTT_STD_ANY

Diff for: include/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ TARGET_COMPILE_DEFINITIONS(${PROJECT_NAME} INTERFACE $<$<BOOL:${MQTT_STD_ANY}>:M
3636
TARGET_COMPILE_DEFINITIONS(${PROJECT_NAME} INTERFACE $<$<BOOL:${MQTT_STD_STRING_VIEW}>:MQTT_STD_STRING_VIEW>)
3737
TARGET_COMPILE_DEFINITIONS(${PROJECT_NAME} INTERFACE $<$<BOOL:${MQTT_STD_SHARED_PTR_ARRAY}>:MQTT_STD_SHARED_PTR_ARRAY>)
3838
TARGET_COMPILE_DEFINITIONS(${PROJECT_NAME} INTERFACE $<$<BOOL:${MQTT_DISABLE_LIBSTDCXX_TUPLE_ANY_WORKAROUND}>:MQTT_DISABLE_LIBSTDCXX_TUPLE_ANY_WORKAROUND>)
39-
TARGET_COMPILE_DEFINITIONS(${PROJECT_NAME} INTERFACE $<$<BOOL:${MQTT_NO_TS_EXECUTORS}>:MQTT_NO_TS_EXECUTORS>)
4039

4140
# You might wonder why we don't simply add the list of header files to the check_deps
4241
# executable directly, and let cmake figure everything out on it's own.

Diff for: include/mqtt/config.hpp

-12
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@
3232
#endif // !defined(MQTT_STD_VARIANT)
3333

3434

35-
// Check whether to use standard executors only
36-
#if defined(MQTT_NO_TS_EXECUTORS)
37-
3835
// Determine Boost Asio version
3936
#include <boost/asio/version.hpp>
4037

@@ -43,15 +40,6 @@
4340
#error Boost Asio version 1.18.0 required for no TS-style executors
4441
#endif // BOOST_ASIO_VERSION < 101800
4542

46-
#else // defined(MQTT_NO_TS_EXECUTORS)
47-
48-
// Force no TS executors if Boost Asio accepts these only
49-
#if defined(BOOST_ASIO_NO_TS_EXECUTORS)
50-
#define MQTT_NO_TS_EXECUTORS
51-
#endif // defined(BOOST_ASIO_NO_TS_EXECUTORS)
52-
53-
#endif // defined(MQTT_NO_TS_EXECUTORS)
54-
5543
#define BOOST_UUID_FORCE_AUTO_LINK
5644

5745
#endif // MQTT_CONFIG_HPP

Diff for: include/mqtt/null_strand.hpp

-75
Original file line numberDiff line numberDiff line change
@@ -17,84 +17,9 @@ namespace MQTT_NS {
1717

1818
namespace as = boost::asio;
1919

20-
// Determines which strand to use
21-
#if defined(MQTT_NO_TS_EXECUTORS)
22-
2320
// Using standard executor style null_strand / simple executor
2421
using null_strand = as::io_context::executor_type;
2522

26-
#else // defined(MQTT_NO_TS_EXECUTORS)
27-
28-
namespace detail {
29-
30-
struct null_strand {
31-
explicit null_strand(as::io_context& ioc) noexcept : ioc_(ioc) {}
32-
template <typename Func, typename Allocator>
33-
void post(Func&& f, Allocator) const {
34-
as::post(
35-
ioc_,
36-
[f = std::forward<Func>(f)] () mutable {
37-
std::move(f)();
38-
}
39-
);
40-
}
41-
template <typename Func, typename Allocator>
42-
void defer(Func&& f, Allocator) const {
43-
as::defer(
44-
ioc_,
45-
[f = std::forward<Func>(f)] () mutable {
46-
std::move(f)();
47-
}
48-
);
49-
}
50-
template <typename Func, typename Allocator>
51-
void dispatch(Func&& f, Allocator) const {
52-
as::dispatch(
53-
ioc_,
54-
[f = std::forward<Func>(f)] () mutable {
55-
std::move(f)();
56-
}
57-
);
58-
}
59-
bool running_in_this_thread() const noexcept { return false; }
60-
void on_work_started() const noexcept {}
61-
void on_work_finished() const noexcept {}
62-
as::io_context& context() noexcept{ return ioc_; }
63-
as::io_context const& context() const noexcept { return ioc_; }
64-
private:
65-
as::io_context& ioc_;
66-
};
67-
68-
} // namespace detail
69-
70-
// Use networking TS style null_strand
71-
using null_strand = detail::null_strand;
72-
73-
inline bool operator==(null_strand const& lhs, null_strand const& rhs) {
74-
return std::addressof(lhs) == std::addressof(rhs);
75-
}
76-
77-
inline bool operator!=(null_strand const& lhs, null_strand const& rhs) {
78-
return !(lhs == rhs);
79-
}
80-
81-
#endif // defined(MQTT_NO_TS_EXECUTORS)
82-
8323
} // namespace MQTT_NS
8424

85-
86-
#if !defined(MQTT_NO_TS_EXECUTORS)
87-
88-
namespace boost {
89-
namespace asio {
90-
91-
template<>
92-
struct is_executor<MQTT_NS::null_strand> : std::true_type {
93-
};
94-
95-
} // namespace asio
96-
} // namespace boost
97-
98-
#endif // !defined(MQTT_NO_TS_EXECUTORS)
99-
10025
#endif // MQTT_NULL_STRAND_HPP

Diff for: include/mqtt/strand.hpp

-10
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,8 @@ namespace MQTT_NS {
1616

1717
namespace as = boost::asio;
1818

19-
// Determines which strand to use
20-
#if defined(MQTT_NO_TS_EXECUTORS)
21-
22-
// Use standard executor style strand
2319
using strand = as::strand<as::io_context::executor_type>;
2420

25-
#else // defined(MQTT_NO_TS_EXECUTORS)
26-
27-
// Use networking TS style strand
28-
using strand = as::io_context::strand;
29-
30-
#endif // defined(MQTT_NO_TS_EXECUTORS)
3121
}
3222

3323
#endif // MQTT_STRAND_HPP

Diff for: include/mqtt/tcp_endpoint.hpp

+1-11
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,7 @@ class tcp_endpoint : public socket {
2727
template <typename... Args>
2828
explicit tcp_endpoint(as::io_context& ioc, Args&&... args)
2929
:tcp_(ioc, std::forward<Args>(args)...),
30-
#if defined(MQTT_NO_TS_EXECUTORS)
3130
strand_(ioc.get_executor())
32-
#else
33-
strand_(ioc)
34-
#endif
3531
{}
3632

3733
MQTT_ALWAYS_INLINE void async_read(
@@ -115,15 +111,9 @@ class tcp_endpoint : public socket {
115111
tcp_.lowest_layer().close(ec);
116112
}
117113

118-
#if defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
119-
MQTT_ALWAYS_INLINE as::executor get_executor() override final {
120-
return lowest_layer().get_executor();
121-
}
122-
#else // defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
123114
MQTT_ALWAYS_INLINE as::any_io_executor get_executor() override final {
124-
return lowest_layer().get_executor();
115+
return strand_;
125116
}
126-
#endif // defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
127117

128118
auto& socket() { return tcp_; }
129119
auto const& socket() const { return tcp_; }

Diff for: include/mqtt/type_erased_socket.hpp

-4
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,7 @@ class socket {
3434
virtual void clean_shutdown_and_close(boost::system::error_code&) = 0;
3535
virtual void async_clean_shutdown_and_close(std::function<void(error_code)>) = 0;
3636
virtual void force_shutdown_and_close(boost::system::error_code&) = 0;
37-
#if defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
38-
virtual as::executor get_executor() = 0;
39-
#else // defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
4037
virtual as::any_io_executor get_executor() = 0;
41-
#endif // defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
4238
};
4339

4440
} // namespace MQTT_NS

Diff for: include/mqtt/ws_endpoint.hpp

+1-11
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,7 @@ class ws_endpoint : public socket {
3030
template <typename... Args>
3131
explicit ws_endpoint(as::io_context& ioc, Args&&... args)
3232
:ws_(ioc, std::forward<Args>(args)...),
33-
#if defined(MQTT_NO_TS_EXECUTORS)
3433
strand_(ioc.get_executor())
35-
#else
36-
strand_(ioc)
37-
#endif
3834
{
3935
ws_.binary(true);
4036
ws_.set_option(
@@ -230,15 +226,9 @@ class ws_endpoint : public socket {
230226
lowest_layer().close(ec);
231227
}
232228

233-
#if defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
234-
MQTT_ALWAYS_INLINE as::executor get_executor() override final {
235-
return lowest_layer().get_executor();
236-
}
237-
#else // defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
238229
MQTT_ALWAYS_INLINE as::any_io_executor get_executor() override final {
239-
return lowest_layer().get_executor();
230+
return strand_;
240231
}
241-
#endif // defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
242232

243233
typename boost::beast::websocket::stream<Socket>::next_layer_type& next_layer() {
244234
return ws_.next_layer();

0 commit comments

Comments
 (0)