187 Commits

Author SHA1 Message Date
Bruno Iljazovic
43845343a2 CI: update Codecov action to v5
Reviewers: korina

Reviewed By: korina

Subscribers: miljen

Differential Revision: https://repo.mireo.local/D33801
2025-02-18 12:03:43 +01:00
Bruno Iljazovic
3dfe07546f Upload coverage report to boostorg Codecov page
Summary:
https://docs.codecov.com/docs/codecov-tokens#uploading-without-a-token
> If you wish to do a tokenless upload, there is no need to generate or set any tokens or secrets on your project or your workflow. **You can still send in a token, but if the request qualifies as a tokenless upload, the token sent with your request will not be checked.**

Reviewers: korina

Reviewed By: korina

Subscribers: miljen

Differential Revision: https://repo.mireo.local/D33794
2025-02-18 10:48:22 +01:00
Bruno Iljazovic
c752845144 Merge branch 'master' into develop 2025-02-17 14:58:19 +01:00
Korina Šimičević
684277dc40 Fix async prefix in examples
Summary: related to T15996

Reviewers: iljazovic

Reviewed By: iljazovic

Subscribers: miljen

Differential Revision: https://repo.mireo.local/D33773
2025-02-17 13:27:13 +01:00
Korina Šimičević
40ad372736 Bump copyright year
Summary:
related to T15996

updates copyright year to 2025

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D33759
2025-02-17 10:47:39 +01:00
Bruno Iljazovic
37257354cc docs workflow fix
Reviewers: korina

Reviewed By: korina

Subscribers: miljen

Differential Revision: https://repo.mireo.local/D33736
2025-02-13 15:48:29 +01:00
Bruno Iljazovic
b362be6a64 coverage and docs workflows
Summary: Relates to T15996

Reviewers: korina

Reviewed By: korina

Subscribers: miljen

Differential Revision: https://repo.mireo.local/D33719
2025-02-13 13:38:08 +01:00
Korina Šimičević
4b3b710300 Add Windows builds to CI
Summary: related to T15996

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D33712
2025-02-13 13:31:31 +01:00
Bruno Iljazovic
7d18f20e56 Add Jamfile, make CMake scripts Boost compliant
Summary: related to T15996

Reviewers: ivica, korina

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D33480
2025-02-12 15:54:14 +01:00
Bruno Iljazovic
53fe64d015 boost/mqtt5 in coverage
Reviewers: ivica

Reviewed By: ivica

Subscribers: korina, miljen

Differential Revision: https://repo.mireo.local/D33488
2025-02-03 11:59:21 +01:00
Bruno Iljazovic
8b41f0dd4d Gracefully shutdown Websocket and TLS streams
Summary:
Resolves #18
Ref T15241

Reviewers: ivica

Reviewed By: ivica

Subscribers: korina, miljen

Maniphest Tasks: T15241

Differential Revision: https://repo.mireo.local/D33395
2025-01-30 18:18:05 +01:00
Korina Šimičević
4df9dbbb07 Fix build
Summary: related to T15996

Reviewers: iljazovic

Reviewed By: iljazovic

Subscribers: miljen

Differential Revision: https://repo.mireo.local/D33388
2025-01-27 10:31:57 +01:00
Korina Šimičević
b42014f379 Simplify document generation and replace Async.MQTT5 with Boost.MQTT5 in docs
Summary:
related to T15996

- docs are now buildable with b2 (in a very simplified way) like mysql docs
- change Async.MQTT5 -> Boost.MQTT5, async_mqtt5 namespace to boost::mqtt5 namespace

- once changes are approved, Ill update all tabs to 4 spaces in .qbk files

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D33373
2025-01-27 08:22:13 +01:00
Bruno Iljazovic
9a0d41b7a7 fix for default completion tokens on Boost 1.87.0
Reviewers: ivica

Reviewed By: ivica

Subscribers: korina, miljen

Differential Revision: https://repo.mireo.local/D33181
2025-01-15 16:01:09 +01:00
Bruno Iljazovic
82a437999a fix for default completion tokens on Boost 1.87.0
Reviewers: ivica

Reviewed By: ivica

Subscribers: korina, miljen

Differential Revision: https://repo.mireo.local/D33181
v1.0.3
2025-01-15 09:37:31 +01:00
Korina Šimičević
afc270f10e Async.MQTT5 -> Boost.MQTT5
Summary:
related to T15996

folder structure include/async_mqtt5 -> include/boost/mqtt5
namespace async_mqtt5 -> namespace boost::mqtt5
all tabs replaced with 4 spaces (because tabs are banned)
boost-like order of includes

TODO: fix all docs

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D33152
2025-01-14 08:57:44 +01:00
Bruno Iljazovic
1225cc778a fix for Boost 1.87.0
Summary: Boost.Asio made basic_resolver_results' inheritance of basic_resolver_iterator private

Reviewers: ivica

Reviewed By: ivica

Subscribers: korina, miljen

Differential Revision: https://repo.mireo.local/D32797
2024-12-16 17:16:08 +01:00
Korina Šimičević
9a6788c913 Examples rework
Summary:
related to T15261, T15262
- all examples are added to CI checks
	- as a result, CMakeLists.txt in example folder is reworked to build all examples instead of one
	- also removed chapter Building with CMake temporarily (it will be back)
- all examples accept runtime arguments (brokers, port, clientid) (default: hivemq public broker)
- implemented example suggestions by R.Perez, most notable:
	- all examples include mqtt headers they use (no more unified headers)
	- multithreaded examples use thread_pool instead of asio::io_context
- all examples use logger with log_level::info by default

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D32602
2024-12-04 09:45:18 +01:00
Korina Šimičević
d19f466e3e Remove Beast dependency from connect_op.hpp
Summary: resolves T15243

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Maniphest Tasks: T15243

Differential Revision: https://repo.mireo.local/D32561
2024-12-02 15:47:19 +01:00
Korina Šimičević
8d4502551a Fix example
Summary: related to T13767

Reviewers: iljazovic

Reviewed By: iljazovic

Subscribers: miljen

Differential Revision: https://repo.mireo.local/D32565
2024-12-02 15:16:50 +01:00
Korina Šimičević
e5d36cf088 Move logger traits out of detail namespace into logger_traits.hpp
Summary:
related to T15252, #24
- move logger traits out of detail namespace into logger_traits.hpp to allow writers of their own loggers to verify that their implementation satisfies the LoggerType requirements
- move impl/codecs/traits to detail/traits, traits functions are now in detail namespace
- logger outputs the contents of props in debug mode

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D32524
2024-12-02 10:31:22 +01:00
Korina Šimičević
319d024981 Document LoggerType concept and improve Getting Started chapter
Summary:
related to T15252, T15261, T15263, #24

- documented LoggerType concept
- configuring the client chapter changed to getting started chapter with new additions:
	- code examples for each section (choosing underlying type, configuring the client, and using it)
	- added a secion on debugging the client using our logger implementation
- minor fixes related to reviewer's suggestions

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D32487
2024-12-02 07:56:13 +01:00
Bruno Iljazovic
67152be209 fix warnings
Reviewers: korina

Reviewed By: korina

Subscribers: miljen

Differential Revision: https://repo.mireo.local/D32452
2024-11-27 14:53:51 +01:00
Korina Šimičević
f22a3c7bec Add log invoke and logger
Summary: related to T15252, #24

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Maniphest Tasks: T15252

Differential Revision: https://repo.mireo.local/D32382
2024-11-27 13:45:23 +01:00
Bruno Iljazovic
9240c51b28 remove thread mutex from async_mutex
Summary: also fixes per-operation-cancelled operations preventing unlock of mutex

Reviewers: ivica

Reviewed By: ivica

Subscribers: korina, miljen

Differential Revision: https://repo.mireo.local/D32427
2024-11-27 13:28:41 +01:00
Bruno Iljazovic
944de413a3 Allow different bound executors on completion handlers
Summary: Resolves T15251, #23

Reviewers: ivica

Reviewed By: ivica

Subscribers: korina, miljen

Maniphest Tasks: T15251

Differential Revision: https://repo.mireo.local/D32249
2024-11-27 13:24:47 +01:00
Korina Šimičević
913d8a102d README.md revisited
Summary:
related to T15263
If accepted, the changes will be applied to 01_intro.qbk in this commit.
This revision addresses most of the Peter Tucan's suggestions about README/Introduction.

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D32287
2024-11-21 13:27:41 +01:00
Korina Šimičević
edb94108b6 Remove Beast dependency from rebind_executor.hpp and async_traits.hpp
Summary:
related to T15243
remove beast as dependancy from async_traits and rebind_executor

run mqtt_features test on websocket-tcp client instead (tcp broker is usually overloaded)

add tests for next_layer/lowest_layer

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D32212
2024-11-19 09:07:14 +01:00
Korina Šimičević
f80c189767 Allow IPv6 connections
Summary: related to T13767, #19

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D32140
2024-11-13 11:46:20 +01:00
Korina Šimičević
2fa908cfc8 Add clang 16-18, address and UB sanitizer builds to CI
Summary: related to T15253

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D32168
2024-11-12 15:08:56 +01:00
Korina Šimičević
0b935bd1a2 Documentation fixes
Summary: related to T13767

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D31723
v1.0.2
2024-10-09 15:35:36 +02:00
Korina Šimičević
1e57b3b8a6 Make websocket examples clearer by providing a path example
Summary: related to T13767, #15

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D31707
2024-10-09 08:20:31 +02:00
Korina Šimičević
0e62d8f8b3 Consistently use BOOST_TEST instead of BOOST_CHECK in tests
Summary:
related to T13767
We used BOOST_CHECK in older tests and BOOST_TEST macro in newer tests.
Now we use BOOST_TEST consistently.

Reviewers: ivica!

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D31701
2024-10-08 15:25:36 +02:00
Korina Šimičević
4cbae1056b #includes revision and housekeeping
Summary: related to T13767

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D31700
2024-10-08 13:13:31 +02:00
Korina Šimičević
0d9bb94db5 Forward declare asio::ssl::stream to avoid OpenSSL dependancy
Summary: related to T13767, #14

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D31524
2024-09-24 15:10:03 +02:00
Korina Šimičević
10f75b9e02 Replace ring_buffer with std::deque in async_mutex
Summary: related to T13767

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D30933
2024-08-19 12:06:49 +02:00
Korina Šimičević
f477a02f89 Fix broken rebind_executor doc by adding a reference to Executor concept
Summary: related to T13767

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D30864
2024-08-09 09:51:39 +02:00
Korina Šimičević
40b1f7e00c Initiation lambdas replaced with classes with executor_type/get_executor
Summary:
related to #13, T13767
`asio::cancel_at` and `asio::cancel_after` (coming with Boost 1.86) use associated executor
from the initiation object to construct the underlying timer.

Therefore, initiation lambdas are replaced with classes with executor_type/get_executor to allow that functionality
(like Asio/Beast).

Alternative solutions:
 1) asio::bind_executor(get_executor(), initiation)
 2) async_compose

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D30861
2024-08-09 09:01:45 +02:00
Korina Šimičević
0330df77a3 Add missing assignment operators
Summary:
related to T13767
- add missing assignment operators
- marked single argument constructors as explicit where needed
- add even more missing includes

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D30813
2024-08-08 10:59:38 +02:00
Korina Šimičević
b55ec679bf Add support for immediate executors
Summary: related to T13767

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D30809
2024-08-08 08:08:34 +02:00
Korina Šimičević
7bc1ccf072 Add support for default completion tokens
Summary: related to #12 T13767

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen

Differential Revision: https://repo.mireo.local/D30725
2024-08-06 08:22:16 +02:00
Korina Šimičević
d52090f438 Add support for g++-13,14
Summary:
related to T13767, #9

fix compilation error on g++-14
add g++-13 & g++-14 workflow to CI (requires ubuntu 24.04)

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D29794
2024-06-03 09:57:24 +02:00
Korina Šimičević
927c1c6e3a Update license to BSL-1.0
Summary: related to T13767 T13767

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D29686
2024-05-27 10:59:59 +02:00
Korina Šimičević
3570d56d9e Update versions of CI & coverage github actions
Summary:
related to T13767

Upgraded github actions to versions that run on node 20 (v4).
Previous versions run on node 16 and are deprecated.
https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D29494
2024-05-16 12:34:14 +02:00
Korina Šimičević
dc2b2d9bbb Do not use temporaries in co_await expressions (g++ compiler bug)
Summary: related to T13767

Reviewers: iljazovic

Reviewed By: iljazovic

Subscribers: miljen

Differential Revision: https://repo.mireo.local/D29449
2024-05-15 08:50:04 +02:00
Korina Šimičević
68840dda95 Add missing topic alias name validation
Summary:
related to T13767

- allow empty topic name + topic alias in props
- add mqtt features tests

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D29445
2024-05-15 07:43:44 +02:00
Korina Šimičević
b2338d4135 async_run's associated ex will not replace mqtt_client's default ex
Summary: related to T13767

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D29383
2024-05-13 08:56:20 +02:00
Korina Šimičević
794f48e915 Add support for g++-9 compiler
Summary: related to #7, T13767

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D29302
2024-05-09 14:55:04 +02:00
Korina Šimičević
73ec4431ff Fix colours in README code box
Summary: related to T13767

Reviewers: iljazovic

Reviewed By: iljazovic

Subscribers: miljen

Differential Revision: https://repo.mireo.local/D29246
2024-05-03 12:15:08 +02:00
Korina Šimičević
27c4ca1535 Add a build with CMake example to README and Introduction page
Summary: related to T13767

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D29243
2024-05-03 12:04:07 +02:00