Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump to newest mqtt cpp #1

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
247 commits
Select commit Hold shift + click to select a range
d2e3056
More minor tweaks pertaining to #230
May 1, 2019
94a162f
Added ssl keylog callback for DEBUG.
redboltz May 17, 2019
ce551af
Merge pull request #246 from jonesmz/more_minor_tweaks
redboltz May 17, 2019
4fee682
Merge pull request #256 from redboltz/add_ssl_keylog_cb
redboltz May 17, 2019
be8c8e0
Added protocol_version setter for servers.
redboltz May 20, 2019
8f66221
Merge pull request #257 from redboltz/add_protocol_version_to_server
redboltz May 20, 2019
1dadbe0
Refined visitor for properties.
redboltz May 20, 2019
081f434
Merge pull request #258 from redboltz/refine_property_visitor
redboltz May 20, 2019
0e013d3
Added MQTT v5 examples.
redboltz May 20, 2019
773ade4
Merge pull request #259 from redboltz/add_v5_example_2
redboltz May 20, 2019
e5512ad
Updated CHANGELOG and readme.
redboltz May 20, 2019
fa65497
Merge pull request #260 from redboltz/update_to_v4.0.0
redboltz May 21, 2019
92338b1
Fixed #266.
redboltz Jun 3, 2019
1bbfb14
Fixed set_async_pingreq() argument.
redboltz Jun 4, 2019
5f62988
Merge pull request #267 from redboltz/fix_266
redboltz Jun 4, 2019
d1eda2c
Migrated to azure-devops-build-pipelines from appveyor.
redboltz Jun 7, 2019
a2a6d7c
Merge pull request #270 from redboltz/migrate_to_azure_pipelines
redboltz Jun 7, 2019
219ae2e
Supported codecov.
redboltz Jun 11, 2019
449807f
Merge pull request #273 from redboltz/add_codecov
redboltz Jun 11, 2019
c72f354
Added dupulicated travis-ci launch avoiding code.
redboltz Jun 11, 2019
aeaa2bf
Merge pull request #274 from redboltz/remove_dup_travis
redboltz Jun 11, 2019
1589f66
Added codecov badge.
redboltz Jun 12, 2019
fc575e5
Merge pull request #275 from redboltz/add_codecov_badge
redboltz Jun 12, 2019
2674fee
Added tests for message.
redboltz Jun 12, 2019
ba13bc3
Added conditional cov sending.
redboltz Jun 12, 2019
e4227f8
Replaced char array with std::string.
redboltz Jun 12, 2019
73d1d39
Fixed string comparison.
redboltz Jun 12, 2019
ccdd53a
Fixed travis sh syntax.
redboltz Jun 12, 2019
eaf4bd9
Fixed syntax.
redboltz Jun 12, 2019
4f5daf2
Merge pull request #276 from redboltz/increse_coverage
redboltz Jun 12, 2019
efd8192
Added message coverage increasing tests.
redboltz Jun 12, 2019
eb9fff3
Fixed parameter type.
redboltz Jun 12, 2019
ae1752e
Fixed lifetime.
redboltz Jun 13, 2019
a3561ab
Merge pull request #278 from redboltz/increase_cov2
redboltz Jun 13, 2019
ec40d52
Fixed #279.
redboltz Jun 17, 2019
29ea909
Removed C++17 feature.
redboltz Jun 17, 2019
3def8d8
Fixed #269.
redboltz Jun 17, 2019
fccb798
Merge pull request #283 from redboltz/fix_279
redboltz Jun 17, 2019
a637892
Merge pull request #284 from redboltz/fix_269
redboltz Jun 17, 2019
def3f01
Added retry code to connect codecov.
redboltz Jun 17, 2019
c4ee706
Merge pull request #285 from redboltz/add_retry_codecov
redboltz Jun 17, 2019
1dce2d5
Added ifdefed workaround for buggy MS compiler. All C++14 supporting …
aholzinger Jun 17, 2019
8b21c12
Merge pull request #286 from aholzinger/master
redboltz Jun 18, 2019
4d970f8
Fixed static boost support.
redboltz Jun 18, 2019
dd8fe57
Merge pull request #290 from redboltz/fix_287
redboltz Jun 18, 2019
bdabdba
Fixed #280.
redboltz Jun 18, 2019
8790775
Merge pull request #291 from redboltz/fix_280
redboltz Jun 18, 2019
1359231
Fixed #281.
redboltz Jun 19, 2019
d17f330
Ostream implemented as generic.
redboltz Jun 19, 2019
344f531
Merge pull request #293 from redboltz/fix_281
redboltz Jun 19, 2019
056c31b
Fixed #295.
redboltz Jun 23, 2019
5802d04
Merge pull request #296 from redboltz/fix_295
redboltz Jun 24, 2019
024a225
Resolves #222
jonesmz Apr 25, 2019
1ea0f7c
Fixed #298.
redboltz Jun 25, 2019
a6058ca
Updated the version to 5.0.0.
redboltz Jun 25, 2019
221d068
v5 property allocation management, and static asserts
Jun 17, 2019
b441187
Merge pull request #299 from redboltz/fix_298
redboltz Jun 25, 2019
021a346
Merge pull request #288 from jonesmz/v5-property-explicit-keyword
redboltz Jun 28, 2019
d4fa160
Merge pull request #230 from jonesmz/more_string_handling
redboltz Jun 28, 2019
9ed07ce
Fixed #305 (possibily)
redboltz Jun 29, 2019
8ec8032
Merge pull request #306 from redboltz/fix_305
redboltz Jun 29, 2019
727eb12
Fixed #301.
redboltz Jun 29, 2019
927f83d
Fixed #300.
redboltz Jun 29, 2019
dd67cc7
Merge pull request #307 from redboltz/fix_301
redboltz Jun 29, 2019
2d3c0ac
Merge pull request #308 from redboltz/fix_300
redboltz Jun 29, 2019
71b25db
Removed redundant callback.
redboltz Jun 30, 2019
008c564
Merge pull request #309 from redboltz/remove_redundant_error_cb
redboltz Jun 30, 2019
31849f4
Partial fix of #237.
redboltz Jun 29, 2019
1f80443
Used member functions instead of direct mamber varaiable operation.
redboltz Jul 1, 2019
75d13cf
Merge pull request #311 from redboltz/try_aync_store
redboltz Jul 1, 2019
8f24941
Fixed missing parameter for async_send_pubrel().
redboltz Jul 1, 2019
df19933
Refined async_send_pubrel parameter passing.
redboltz Jul 1, 2019
b89012d
Merge pull request #312 from redboltz/fix_missing_param
redboltz Jul 1, 2019
c36c868
Resolves #186, #191
jonesmz Apr 26, 2019
909032f
Fixed #314.
redboltz Jul 2, 2019
3fa61e9
Merge pull request #231 from jonesmz/string_view
redboltz Jul 2, 2019
6e8eb5d
Make the do_async_write function a little cleaner
Jul 1, 2019
c7ec250
Update include/mqtt/endpoint.hpp
jonesmz Jul 2, 2019
48d8b40
Update include/mqtt/endpoint.hpp
jonesmz Jul 2, 2019
af5cebb
Update include/mqtt/endpoint.hpp
jonesmz Jul 2, 2019
9bb4833
Resolves #241 by re-working the way saved subscriptions are handled
jonesmz Apr 30, 2019
38e6b00
Removed unused variable.
redboltz Jul 3, 2019
9b1448a
Merge pull request #313 from jonesmz/small_do_async_write_tweak
redboltz Jul 3, 2019
b3d5da5
Merge pull request #243 from jonesmz/rework_saved_subscriptions
redboltz Jul 3, 2019
800a9b4
Merge pull request #315 from redboltz/fix_314
redboltz Jul 3, 2019
4af0f6f
Fixed #316.
redboltz Jul 3, 2019
280c724
Merge pull request #318 from redboltz/fix_316
redboltz Jul 3, 2019
da5f5b1
Fixed #302.
redboltz Jul 4, 2019
666aa13
Merge pull request #319 from redboltz/fix_302
redboltz Jul 4, 2019
fac2898
Fix #322
jonesmz Jul 11, 2019
ba18575
Fixed #321.
redboltz Jul 12, 2019
ba556eb
Merge pull request #323 from jonesmz/patch-1
redboltz Jul 12, 2019
42e43b0
Merge pull request #324 from redboltz/fix_321
redboltz Jul 12, 2019
c6fb51a
Updated to the version 5.0.0.
redboltz Jul 17, 2019
0b72fdd
Merge pull request #325 from redboltz/update_to_5.0.0
redboltz Jul 17, 2019
5712425
Fixed build errors with MQTT_STD_ANY=ON. #327
vogoltsov Jul 18, 2019
9eb7db0
Enabled MQTT_STD_ANY in tests.
vogoltsov Jul 18, 2019
ca26d50
Merge pull request #328 from vogoltsov/fix-mqtt-std-any
redboltz Jul 19, 2019
91437ee
Fixed #329.
redboltz Jul 19, 2019
4c8380f
Merge pull request #330 from redboltz/fix_329
redboltz Jul 19, 2019
e45822f
Updated the version to v5.0.1.
redboltz Jul 19, 2019
b738703
Merge pull request #331 from redboltz/update_to_v5.0.1
redboltz Jul 19, 2019
e040599
Fixed azure devops build pipelines badge.
redboltz Jul 19, 2019
e72a8cc
Merge pull request #332 from redboltz/fix_azure_pipelines_badge
redboltz Jul 19, 2019
93f0826
Fix cmake for std::any
jonesmz Aug 5, 2019
757cba1
Merge pull request #333 from jonesmz/patch-2
redboltz Aug 6, 2019
e8a282a
Implemented #320.
redboltz Jul 14, 2019
af19c95
Applied reveiw comments.
redboltz Aug 21, 2019
5c984ba
Reverted linux distro to trusty from bionic on travis-ci.
redboltz Aug 21, 2019
7e38b7d
Added MQTT_STD_SHARED_PTR_ARRAY support.
redboltz Aug 21, 2019
0ebdbd5
Reflected review comments.
redboltz Aug 21, 2019
879177c
Removed codecov retry code.
redboltz Aug 21, 2019
53e3ebd
Remap osx travis-ci test.
redboltz Aug 21, 2019
80888fd
Comment out travis-ci filter to kick codecov.
redboltz Aug 21, 2019
5a9eb53
Ballanced osx build on travis-ci.
redboltz Aug 21, 2019
7047df6
Fixed variable length consume calculation.
redboltz Aug 22, 2019
f5cb4c5
Merge pull request #339 from redboltz/impl_320_2
redboltz Aug 22, 2019
36640b0
Updated the version to 6.0.0.
redboltz Aug 22, 2019
97ef9b2
Re-ballanced osx build on travis-ci.
redboltz Aug 22, 2019
565ba46
Supported old version of boost.
redboltz Aug 22, 2019
865bcd8
Merge pull request #346 from redboltz/update_version_to_6
redboltz Aug 22, 2019
c9f1a99
Added allocate_buffer for string_view.
redboltz Aug 22, 2019
cbf9e10
Uncomment travis-ci kick filter.
redboltz Aug 23, 2019
86611a1
Merge pull request #347 from redboltz/support_old_boost_for_te
redboltz Aug 23, 2019
12fe447
Merge pull request #349 from redboltz/add_allocate_buffer_for_string_…
redboltz Aug 23, 2019
ec70db1
Small adjustment to test_broker.hpp
Aug 23, 2019
4bbe5db
Fixed #352.
redboltz Aug 23, 2019
971ece6
Merge pull request #356 from redboltz/fix_352
redboltz Aug 23, 2019
c3e98c6
Merge pull request #353 from jonesmz/test_broker_tweak
redboltz Aug 23, 2019
5e3439e
Fix #355
Aug 23, 2019
57313b6
Use mqtt::buffer directly, instead of std::string
Aug 23, 2019
d21f409
Fixed lowest_layer call on Boost 1.70.0 or later.
redboltz Aug 23, 2019
89eaf38
Merge pull request #359 from redboltz/fix_additional_lowest_layer
redboltz Aug 24, 2019
fa52cde
Merge pull request #358 from jonesmz/use-buffer-instead-of-string
redboltz Aug 24, 2019
1517901
Merge branch 'fix-355' of https://github.com/jonesmz/mqtt_cpp into jo…
redboltz Aug 24, 2019
a7daa83
Revived `do_combi_test()` to test factory.
redboltz Aug 24, 2019
b09b024
Merge branch 'jonesmz-fix-355'
redboltz Aug 24, 2019
f2ec334
Fixed #334.
redboltz Aug 25, 2019
7b2be20
Merge pull request #360 from redboltz/fix_334
redboltz Aug 25, 2019
7879325
Implemented #338.
redboltz Aug 26, 2019
3d0f04c
Implemented #362.
redboltz Aug 27, 2019
1d950b5
Added tests.
redboltz Aug 27, 2019
dc60783
Updated raw string literals g++ frinedly.
redboltz Aug 27, 2019
2b7514c
Reflected review comments.
redboltz Aug 27, 2019
01c37f5
Merge pull request #364 from redboltz/impl_338
redboltz Aug 27, 2019
b6397e7
Added CHANGELOG.md for version 6.0.0.
redboltz Aug 27, 2019
eb1e5aa
Avoid warning about unused variables
jonesmz Aug 27, 2019
021311e
Avoid unused variable warning
jonesmz Aug 27, 2019
010438a
Avoid unused variable warning
jonesmz Aug 27, 2019
e993e67
Avoid unused variable warning
jonesmz Aug 27, 2019
6a734de
Avoid warning about unused variable
jonesmz Aug 27, 2019
787f0f9
Merge pull request #367 from jonesmz/patch-1
redboltz Aug 28, 2019
607dd7f
Merge pull request #368 from jonesmz/patch-3
redboltz Aug 28, 2019
c79bbbf
Merge pull request #369 from jonesmz/patch-4
redboltz Aug 28, 2019
438de67
Merge pull request #370 from jonesmz/patch-2
redboltz Aug 28, 2019
eace8dd
Merge pull request #371 from jonesmz/patch-5
redboltz Aug 28, 2019
2c8ccf6
Fixed typo. Added more fixes.
redboltz Aug 28, 2019
dc89b6c
Fixed deprecated function overload match.
redboltz Aug 28, 2019
a841af6
Added more fix for deprecated.
redboltz Aug 28, 2019
b0ae8fb
Merge pull request #372 from redboltz/fix_deprecated_over_match
redboltz Aug 28, 2019
b47567d
Merge pull request #366 from redboltz/update_to_v6.0.0
redboltz Aug 28, 2019
c6ba714
Fixed #375.
redboltz Aug 28, 2019
e811f0b
Merge pull request #376 from redboltz/fix_375
redboltz Aug 28, 2019
2e626b4
Added force_move() function.
redboltz Aug 30, 2019
e5b0f41
Fixed copy fallbacked move.
redboltz Aug 30, 2019
fea8457
Added g++ workaround.
redboltz Sep 1, 2019
84bff9b
Merge pull request #378 from redboltz/add_checked_move
redboltz Sep 1, 2019
9fbbfa1
Updated to v6.0.2.
redboltz Sep 1, 2019
ed3cd91
Merge pull request #380 from redboltz/update_to_v6.0.2
redboltz Sep 1, 2019
dd0effe
Fixed #382.
redboltz Sep 3, 2019
8c83313
Update the version to v6.0.3.
redboltz Sep 3, 2019
c66f3db
Merge pull request #383 from redboltz/fix_382
redboltz Sep 3, 2019
e6cc8a4
Fixed invalid qos comparison on subscribe.
redboltz Sep 4, 2019
88e3374
Updated the version to v6.0.4.
redboltz Sep 4, 2019
e8ce64d
Added test.
redboltz Sep 4, 2019
b6fe528
Merge pull request #385 from redboltz/fix_subscribe_requested_qos_com…
redboltz Sep 4, 2019
8c83384
Removed deprecated APIs.
redboltz Sep 3, 2019
2b8b830
Updated the version to 7.0.0.
redboltz Sep 3, 2019
b4be50e
Merge pull request #384 from redboltz/remove_deprecated_apis
redboltz Sep 4, 2019
5359539
Add subscribe_options class, and convert qos and retain_handling to e…
Sep 5, 2019
f094291
Merge pull request #387 from jonesmz/subscribe-options
redboltz Sep 6, 2019
be17efd
Add inline keyword to several functions to avoid ODR issue
Sep 6, 2019
c0044d9
Merge pull request #388 from jonesmz/fix-subscribe-options
redboltz Sep 6, 2019
92826d3
Optimize subscribe_options data structure a bit
jonesmz Sep 7, 2019
7aeb0f2
Merge pull request #393 from jonesmz/0-subscribe-options
redboltz Sep 8, 2019
bd75e57
Fixed #389.
redboltz Sep 8, 2019
ba29281
Merge pull request #394 from redboltz/fix_389
redboltz Sep 8, 2019
774b1d8
Use enums for the v3 connect_return_code and v5 connect_reason_code
Sep 6, 2019
7297415
Merge pull request #395 from jonesmz/1-connect-reason-code
redboltz Sep 9, 2019
933a364
Use an enum for the disconnect reason code
Sep 7, 2019
a528b62
Add missing header include
Sep 9, 2019
33f7de1
Merge pull request #397 from jonesmz/2-disconnect-reason-code
redboltz Sep 9, 2019
ab2ff1c
Merge pull request #398 from jonesmz/missing-header
redboltz Sep 10, 2019
5f82551
Ensure that processing unsuback resumes async reading
jonesmz Sep 10, 2019
da0f7ff
Merge pull request #402 from jonesmz/unsuback-read
redboltz Sep 10, 2019
49a3eeb
Updated minimum boost version required to 1.66.0.
redboltz Sep 10, 2019
42b52f9
Updated minimum boost requirement on CMakeLists.txt.
redboltz Sep 10, 2019
be706c4
Added debug check flags to Boost.MultiIndex on travis-ci.
redboltz Sep 10, 2019
71da3d7
Merge pull request #403 from redboltz/update_minimum_boost_required
redboltz Sep 10, 2019
2abb934
Use enum for suback_reason_code
jonesmz Sep 7, 2019
a6a0112
Merge pull request #406 from redboltz/add_multi_index_flags_to_ci
redboltz Sep 10, 2019
4966436
Merge pull request #401 from jonesmz/3-suback-reason-code
redboltz Sep 10, 2019
ca0fe1f
Convert unsuback reason codes into enum
jonesmz Sep 7, 2019
96c4d78
Some tweaks to the travis ci config
jonesmz Sep 10, 2019
891bb4e
Merge pull request #411 from jonesmz/4-unsuback-reason-code
redboltz Sep 10, 2019
180633d
Merge pull request #412 from jonesmz/travis-config
redboltz Sep 10, 2019
09ed1ec
Fixed BOOST_VERSION typo.
redboltz Sep 10, 2019
0204eee
Convert puback reason codes into enum
jonesmz Sep 7, 2019
d6f0aa0
Merge pull request #413 from redboltz/fix_typo_boost_version
redboltz Sep 11, 2019
46663f4
Merge pull request #414 from jonesmz/5-puback-reason-code
redboltz Sep 11, 2019
f104541
Convert pubrec reason code to enum
jonesmz Sep 7, 2019
0ef1fcb
Convert pubrel reason code to enum
jonesmz Sep 7, 2019
dd0a716
Convert pubcomp reason code to enum
jonesmz Sep 7, 2019
476c661
Convert auth reason code to enum
jonesmz Sep 7, 2019
625346d
Convert control packet type to enum
jonesmz Sep 7, 2019
b7f1545
Merge pull request #415 from jonesmz/10-control-packet-type
redboltz Sep 11, 2019
b606355
Added deprecated attribute to variadic parameter version of [async]_[…
redboltz Sep 11, 2019
15c7fc9
Merge pull request #417 from redboltz/implement_416
redboltz Sep 11, 2019
c60e73f
Replaced io_service with io_context.
redboltz Sep 11, 2019
e880e39
Added other BOOST_ASIO_NO_DEPRECATED support codes.
redboltz Sep 11, 2019
43d2720
Added `-DBOOST_ASIO_NO_DEPRECATED` to some of travis-ci build.
redboltz Sep 11, 2019
779bd0e
Merge pull request #419 from redboltz/impl_409
redboltz Sep 11, 2019
9167c82
Fixed #399.
redboltz Sep 12, 2019
46ff4c2
Merge pull request #422 from redboltz/fix_399
redboltz Sep 12, 2019
4126165
Fixed #345.
redboltz Sep 12, 2019
0a3f8cd
Added -pedantic flag to travi-ci.
redboltz Sep 12, 2019
4452b9b
Merge pull request #423 from redboltz/fix_345
redboltz Sep 12, 2019
37806e4
Fixed #424.
redboltz Sep 12, 2019
1cb3547
Fixed CMAKE_CXX_FLAGS empty case.
redboltz Sep 12, 2019
7c1bbb5
Merge pull request #425 from redboltz/fix_424
redboltz Sep 12, 2019
ed21620
Break the fixed header into dup, qos, and retain values for publish c…
jonesmz Sep 7, 2019
69ee912
Merge pull request #421 from jonesmz/11-publish-params
redboltz Sep 13, 2019
4f831f7
Fixed #437.
redboltz Sep 14, 2019
bff8b87
Merge pull request #438 from redboltz/fix_437
redboltz Sep 14, 2019
b929e5b
Fixed #435.
redboltz Sep 14, 2019
8d11b53
Fixed tests.
redboltz Sep 14, 2019
88fdbb6
Fixed typos.
redboltz Sep 14, 2019
43521b1
Moved `connect_no_clean()` to `test_util.hpp".
redboltz Sep 14, 2019
f28140c
Merge pull request #439 from redboltz/fix_435
redboltz Sep 15, 2019
1fda86b
Replaced async_handler_t with any.
redboltz Sep 14, 2019
4b832b4
Merge pull request #442 from redboltz/replace_async_handler_t_with_any
redboltz Sep 15, 2019
2cb318f
Don't use mqtt::optional<> for the suback handler, as the standard re…
Sep 13, 2019
10830cd
Merge pull request #434 from jonesmz/suback-handler-remove-optional
redboltz Sep 15, 2019
4f158f2
Updated the parameter of set_accept_handler() from endpoint_t to std:…
redboltz Sep 15, 2019
932357d
Added BOOST_ASSET() to inform lifetime.
redboltz Sep 16, 2019
a17c6b2
Merge pull request #443 from redboltz/accept_cb_shared_ptr
redboltz Sep 16, 2019
c4bc289
Bump to newest version of mqtt_cpp master
marcel-behlau-elfin Sep 18, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +0,0 @@
[submodule "external/beast"]
path = external/beast
url = https://github.com/boostorg/beast.git
159 changes: 38 additions & 121 deletions .travis.yml

Large diffs are not rendered by default.

74 changes: 74 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,77 @@
## 6.0.4
* Fixed invalid subscribe qos comparison on receive. (#385)

## 6.0.3
* Fixed sync subscribe/unsubscribe with properties APIs dispatch to deprecated APIs problem. (#383)

## 6.0.2
* Fixed moved from object access problem. (#378)
* Fixed unexpected copy fallback of move operations. (#378)

## 6.0.1
* Fixed compile error of `acquired_async_publish_dup()`. (#376)

## 6.0.0
* Supressed warnings. (#367, #368, #369, #370, #371)
* Set `[[deprecated]]` attribute to derecated APIs. They will be removed on verion 7.0.0. (#364, #372)
* Added `mqtt::buffer` based APIs. (#364)
* Added user defined namespace support. User can define `MQTT_NS` (default `mqtt`). (#360)
* Improved test. (#357)
* Improved test broker. (#353)
* Added allocation fuction for `mqtt::buffer`. (#349)
* Supported old version of boost type_erasure. (#347)
* <<<< breaking change >>>> Adde zero copy receiving functionality. Callback handlers take `mqtt::buffer` parameter instead of `mqtt::string_view`. It can hold the lifetime. (#339, #358, #359, )
* Improved CI. (#333, #346)

## 5.0.1
* Improved CI. (#330)
* Fixed invalid std::any inclusion on mqtt::any. (#328)

## 5.0.0
* Fixed invalid pointer comparison. (#324)
* Fixed user_property value length. (#323)
* Added `store` type alias for each properties. (#319)
* Fixed `BOOST_MPL_LIMIT_LIST_SIZE` comparison. (#318)
* Removed `BOOST_ASSERT` from test code to improve exception message. (#315)
* Code refactoring. (#313)
* Added default parameter to `async_send_pubrel`'s `life_keeper`. (#312)
* Added async version of stored message sending after `CONNACK` received. (#311)
* <<<< breaking change >>>> Removed unnecessery callback invokation. (#309)
* Fixed moved from object access. (#308)
* <<<< breaking change >>>> Added properties and life_keeper parameter to pubrel and async_publrel. (#307)
* Added reuse_address flag to the test broker to avoid "address already in use" on travis-ci. (#306)
* <<<< breaking change >>>> Fixed TCP accepting process. After TCP accepting, do the next accepting process immediately. Due to the fix, Socket is updated to shared_ptr from unique_ptr. (#299)
* <<<< breaking change >>>> Added underlying connect timeout. It can treat well with TCP connected but TLS handshake not sending attack. (#296)
* Added stream output operator for properties. (#293)
* Replaced byte sequence creation macro with function. (#291)
* Fixed static boost support. (#290)
* <<<< breaking change >>>> Fixed property allocation management. (#288)
* Improved MSVC support for test. (#286)
* Added codecov for CI. (#285, #276, #275, #273)
* Added `MQTT_BUILD_EXAMPLES` flag to cmake to shorten CI time. (#284)
* Added non_ref/ref types conversion for properties. (#283)
* Added tests. (#278, #276)
* Improve travis-ci. (#274)
* Migrate from appveyor azure devops build pipelines that supports 10 parallel build. (#270)
* Fixed pingreq async/sync send. (#267)

## 4.0.0
* Added getting ssl keylog callback for debugging. (#256)
* Fixed re-listen logic for servers. Now we can re-listen after accept is failed. (#252, #254)
* Fixed restore lifetime management to avoid accessing memory after destroyed (#251)
* Removed BOOST_ASSERT checking in the case that actually happens if invalid message is received (#249, #250)
* Added MQTT v5 support (#226, #245, #257, #258, #259)
* Added connection overwrite behavior on `test_broker` (#210)
* Added `async_client` and `sync_client` to avoid misusing async and sync APIs. `client` is still remained that can use both sync and async APIs. (#208)
* Added concatenating `const_buffer` functionality on asynchronous packet sending (#207)
* Improved documents (#198, #214, #219, #229, #235)
* Added switching option between `std` and `boost` (#188, #209)
* Improved build mechanisim (#184, #201, #253)
* Code refactoring (#183, #189, #190, #193, #195, #197, #199, #202, #203, #211, #215, #216, #220, #227, #234, #236, #238, #239, #240, #242)
* Support configure time switches for using std::varient or std::optional instead of the boost versions (#182)
* Allow inheriting classes to construct mqtt::client (#181)
* <<<< Breaking change >> Replaced fixed_header type from `char` to `std::uint8_t`. Fixed `-Wconversion` warnings. See https://github.com/redboltz/mqtt_cpp/pull/180/files (#180)

## 3.1.0
* Fixed inefficient passed by value. (#174)
* Fixed unsugscribe message packet id position for continuours buffer. (#167)
Expand Down
40 changes: 21 additions & 19 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
CMAKE_MINIMUM_REQUIRED (VERSION 3.8.2)
PROJECT (mqtt_cpp)

OPTION(BUILD_EXAMPLES "Enable building example applications" ON)
OPTION(BUILD_TESTS "Enable building test applications" ON)
OPTION(MQTT_BUILD_EXAMPLES "Enable building example applications" ON)
OPTION(MQTT_BUILD_TESTS "Enable building test applications" ON)
OPTION(MQTT_USE_STATIC_BOOST "Statically link with boost libraries" OFF)
OPTION(MQTT_NO_TLS "Disable building TLS code" ON)
OPTION(MQTT_USE_WS "Enable building WebSockets code" OFF)
Expand All @@ -11,6 +11,7 @@ OPTION(MQTT_STD_VARIANT "Use std::variant from C++17 instead of boost::variant"
OPTION(MQTT_STD_OPTIONAL "Use std::optional from C++17 instead of boost::optional" OFF)
OPTION(MQTT_STD_STRING_VIEW "Use std::string_view from C++17 instead of boost::string_view" OFF)
OPTION(MQTT_STD_ANY "Use std::any from C++17 instead of boost::any" OFF)
OPTION(MQTT_STD_SHARED_PTR_ARRAY "Use std::shared_ptr<char[]> from C++17 instead of boost::shared_ptr<char[]>" OFF)

IF ((CMAKE_VERSION VERSION_GREATER 3.1) OR
(CMAKE_VERSION VERSION_EQUAL 3.1))
Expand Down Expand Up @@ -72,7 +73,7 @@ ELSE ()
MESSAGE (STATUS "Using boost::string_view instead of std::string_view")
ENDIF ()

IF (MQTT_STD_ANY_VIEW)
IF (MQTT_STD_ANY)
SET(CMAKE_CXX_STANDARD 17)
SET(CMAKE_CXX_STANDARD_REQUIRED ON)
MESSAGE (STATUS "Using std::any instead of boost::any. Enables C++17!!!")
Expand All @@ -81,31 +82,29 @@ ELSE ()
MESSAGE (STATUS "Using boost::any instead of std::any")
ENDIF ()

IF (MQTT_STD_SHARED_PTR_ARRAY)
SET(CMAKE_CXX_STANDARD 17)
SET(CMAKE_CXX_STANDARD_REQUIRED ON)
MESSAGE (STATUS "Using std::shared_ptr<char []> instead of boost::shared_ptr<char []>. Enables C++17!!!")
SET (CMAKE_CXX_FLAGS "-DMQTT_STD_SHARED_PTR_ARRAY ${CMAKE_CXX_FLAGS}")
ELSE ()
MESSAGE (STATUS "Using boost::shared_ptr<char []> instead of boost::shared_ptr<char []>")
ENDIF ()

IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
SET (CMAKE_CXX_FLAGS "/bigobj ${CMAKE_CXX_FLAGS}")
ENDIF ()

SET (Boost_USE_MULTITHREADED ON)
FIND_PACKAGE (Boost 1.59.0 REQUIRED COMPONENTS system)
FIND_PACKAGE (Boost 1.66.0 REQUIRED COMPONENTS system)
FIND_PACKAGE (Threads)

IF(BUILD_TESTS)
FIND_PACKAGE (Boost 1.59.0 REQUIRED COMPONENTS chrono timer test_exec_monitor unit_test_framework)
IF(MQTT_BUILD_TESTS)
FIND_PACKAGE (Boost 1.66.0 REQUIRED COMPONENTS chrono timer unit_test_framework)
ENDIF()

IF(!MQTT_NO_TLS)
FIND_PACKAGE (Boost 1.59.0 REQUIRED COMPONENTS ssl)
ENDIF()

IF (NOT MQTT_BEAST_INCLUDE_DIR)
IF (${Boost_VERSION} LESS 106600)
SET (MQTT_BEAST_INCLUDE_DIR "external/beast/include")
ENDIF ()
ENDIF ()

INCLUDE_DIRECTORIES (
${Boost_INCLUDE_DIR}
${MQTT_BEAST_INCLUDE_DIR}
include
)

Expand All @@ -118,16 +117,18 @@ ENDIF ()

ENABLE_TESTING ()

IF (BUILD_TESTS)
IF (MQTT_BUILD_TESTS)
MESSAGE(STATUS "Tests enabled")
ADD_SUBDIRECTORY (test)
ENDIF ()

IF (BUILD_EXAMPLES)
IF (MQTT_BUILD_EXAMPLES)
MESSAGE(STATUS "Examples enabled")
ADD_SUBDIRECTORY (example)
ENDIF ()

ADD_CUSTOM_TARGET(check_deps)

ADD_SUBDIRECTORY (include)

# Doxygen
Expand All @@ -140,6 +141,7 @@ IF (DOXYGEN_FOUND)
COMMAND ${CMAKE_COMMAND} -E echo "PROJECT_NAME = \"mqtt_cpp\"" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
COMMAND ${CMAKE_COMMAND} -E echo "EXTRACT_ALL = YES" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
COMMAND ${CMAKE_COMMAND} -E echo "RECURSIVE = YES" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
COMMAND ${CMAKE_COMMAND} -E echo "PREDEFINED = _DOXYGEN_" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
COMMAND ${CMAKE_COMMAND} -E echo "INPUT = ${CMAKE_CURRENT_SOURCE_DIR}/include" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
)
IF (DOXYGEN_DOT_FOUND)
Expand Down
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
# MQTT client/server for C++14 based on Boost.Asio

Version 4.0.0 [![Build Status](https://travis-ci.org/redboltz/mqtt_cpp.svg?branch=master)](https://travis-ci.org/redboltz/mqtt_cpp) [![Build status](https://ci.appveyor.com/api/projects/status/21a267hd34s0kqu5/branch/master?svg=true)](https://ci.appveyor.com/project/redboltz/mqtt-client-cpp/branch/master)
Version 7.0.0 [![Build Status](https://travis-ci.org/redboltz/mqtt_cpp.svg?branch=master)](https://travis-ci.org/redboltz/mqtt_cpp)[![Build Status](https://dev.azure.com/redboltz/redboltz/_apis/build/status/redboltz.mqtt_cpp?branchName=master)](https://dev.azure.com/redboltz/redboltz/_build/latest?definitionId=6&branchName=master)[![codecov](https://codecov.io/gh/redboltz/mqtt_cpp/branch/master/graph/badge.svg)](https://codecov.io/gh/redboltz/mqtt_cpp)

Important note https://github.com/redboltz/mqtt_cpp/wiki/News.

[MQTT v5 is supported](https://github.com/redboltz/mqtt_cpp/wiki/MQTT-v5) since version 4.0.0.

## Overview

mqtt_cpp is a header only library. It requires C++14 and the Boost Libraries 1.57.0 or later (See [#33](https://github.com/redboltz/mqtt_cpp/issues/33)).
mqtt_cpp is a header only library. It requires C++14 and the Boost Libraries 1.66.0 or later.

Add mqtt_cpp/include to your include path. Then, include `mqtt_cpp.hpp` and/or `mqtt_server_cpp.hpp` as follows:

Expand Down
25 changes: 0 additions & 25 deletions appveyor.yml

This file was deleted.

131 changes: 131 additions & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml

trigger:
- '*'
pr:
- '*'

pool:
vmImage: 'vs2017-win2016'

strategy:
matrix:
ExamplesTls:
MQTT_NO_TLS: OFF
MQTT_USE_WS: OFF
MQTT_USE_STR_CHECK: ON
MQTT_TEST_1: OFF
MQTT_TEST_2: OFF
MQTT_TEST_3: OFF
MQTT_TEST_4: OFF
MQTT_TEST_5: OFF
MQTT_TEST_6: OFF
MQTT_BUILD_EXAMPLES: ON
ExamplesWs:
MQTT_NO_TLS: ON
MQTT_USE_WS: ON
MQTT_USE_STR_CHECK: ON
MQTT_TEST_1: OFF
MQTT_TEST_2: OFF
MQTT_TEST_3: OFF
MQTT_TEST_4: OFF
MQTT_TEST_5: OFF
MQTT_TEST_6: OFF
MQTT_BUILD_EXAMPLES: ON
TestGroup1:
MQTT_NO_TLS: OFF
MQTT_USE_WS: OFF
MQTT_USE_STR_CHECK: OFF
MQTT_TEST_1: ON
MQTT_TEST_2: OFF
MQTT_TEST_3: OFF
MQTT_TEST_4: OFF
MQTT_TEST_5: OFF
MQTT_TEST_6: OFF
MQTT_BUILD_EXAMPLES: OFF
TestGroup2:
MQTT_NO_TLS: ON
MQTT_USE_WS: ON
MQTT_USE_STR_CHECK: ON
MQTT_TEST_1: OFF
MQTT_TEST_2: ON
MQTT_TEST_3: OFF
MQTT_TEST_4: OFF
MQTT_TEST_5: OFF
MQTT_TEST_6: OFF
MQTT_BUILD_EXAMPLES: OFF
TestGroup3:
MQTT_NO_TLS: OFF
MQTT_USE_WS: OFF
MQTT_USE_STR_CHECK: ON
MQTT_TEST_1: OFF
MQTT_TEST_2: OFF
MQTT_TEST_3: ON
MQTT_TEST_4: OFF
MQTT_TEST_5: OFF
MQTT_TEST_6: OFF
MQTT_BUILD_EXAMPLES: OFF
TestGroup4:
MQTT_NO_TLS: ON
MQTT_USE_WS: ON
MQTT_USE_STR_CHECK: ON
MQTT_TEST_1: OFF
MQTT_TEST_2: OFF
MQTT_TEST_3: OFF
MQTT_TEST_4: ON
MQTT_TEST_5: OFF
MQTT_TEST_6: OFF
MQTT_BUILD_EXAMPLES: OFF
TestGroup5:
MQTT_NO_TLS: ON
MQTT_USE_WS: ON
MQTT_USE_STR_CHECK: ON
MQTT_TEST_1: OFF
MQTT_TEST_2: OFF
MQTT_TEST_3: OFF
MQTT_TEST_4: OFF
MQTT_TEST_5: ON
MQTT_TEST_6: OFF
MQTT_BUILD_EXAMPLES: OFF
TestGroup6:
MQTT_NO_TLS: OFF
MQTT_USE_WS: OFF
MQTT_USE_STR_CHECK: ON
MQTT_TEST_1: OFF
MQTT_TEST_2: OFF
MQTT_TEST_3: OFF
MQTT_TEST_4: OFF
MQTT_TEST_5: OFF
MQTT_TEST_6: ON
MQTT_BUILD_EXAMPLES: OFF
TestGroup7:
MQTT_NO_TLS: ON
MQTT_USE_WS: ON
MQTT_USE_STR_CHECK: ON
MQTT_TEST_1: OFF
MQTT_TEST_2: OFF
MQTT_TEST_3: OFF
MQTT_TEST_4: OFF
MQTT_TEST_5: OFF
MQTT_TEST_6: ON
MQTT_BUILD_EXAMPLES: OFF

steps:
- script: |
git clone https://github.com/curl/curl.git -b curl-7_65_0
git clone https://github.com/openssl/openssl.git -b OpenSSL_1_1_1b
.\curl\projects\build-openssl.bat vc14.1 x86 debug .\openssl\ -perlpath C:\Strawberry
displayName: 'install openssl'

- script: |
git submodule update --init --recursive
mkdir build
cd build
cmake -DMQTT_NO_TLS=%MQTT_NO_TLS% -DMQTT_USE_WS=%MQTT_USE_WS% -DMQTT_USE_STR_CHECK=%MQTT_USE_STR_CHECK% -DMQTT_TEST_1=%MQTT_TEST_1% -DMQTT_TEST_2=%MQTT_TEST_2% -DMQTT_TEST_3=%MQTT_TEST_3% -DMQTT_TEST_4=%MQTT_TEST_4% -DMQTT_TEST_5=%MQTT_TEST_5% -DMQTT_TEST_6=%MQTT_TEST_6% -DMQTT_BUILD_EXAMPLES=%MQTT_BUILD_EXAMPLES% -DOPENSSL_ROOT_DIR="./openssl/" ..
cmake --build . --config Release
cd test
set PATH=%BOOST_ROOT%\lib;D:/a/1/s/openssl/;%PATH%
ctest -VV
displayName: 'cmake test'
31 changes: 31 additions & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
codecov:
notify:
require_ci_to_pass: yes

coverage:
precision: 2
round: down
range: "70...100"

status:
project: yes
patch: yes
changes: no

parsers:
gcov:
branch_detection:
conditional: yes
loop: yes
method: no
macro: no

comment:
layout: "header, diff"
behavior: default
require_changes: no

ignore:
- "test"
- "example"
- "external"
Loading