Korina Šimičević
cfa2b76176
Remove unused cnf parameter in client_service
...
Summary: related to T13709
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27895
2024-02-14 14:40:41 +01:00
Korina Šimičević
2b686dd6cb
Add intermediate is_cancelled checks in connect_op
...
Summary: related to T13706
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27918
2024-02-14 14:30:40 +01:00
Korina Šimičević
e5de307723
Remove unnecessary get_cancellation_slot().clear() calls
...
Summary: related to T13706
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27894
2024-02-14 07:57:08 +01:00
Korina Šimičević
aeab5f9665
Update documentation
...
Summary:
related to T12804
- fixes in publisher and receiver examples
- update year to 2024
- remove extra documentation link in README
- remove unnecessary copyright & license section, it is automatically generated from 00_main.qbk
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27889
2024-02-14 07:55:52 +01:00
Korina Šimičević
19aaba3cdc
Re-create client_service after stopping client's runloop and let it destroy asynchronously
...
Summary: related to T11798, #5
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27882
2024-02-13 12:31:26 +01:00
Korina Šimičević
10aabbb483
Do not unlock the connection mutex if the operation was cancelled
...
Summary: related to T11798
Reviewers: ivica
Reviewed By: ivica
Subscribers: iljazovic, miljen
Differential Revision: https://repo.mireo.local/D27877
2024-02-13 07:38:25 +01:00
Korina Šimičević
eaac06fa6a
Buildable with Boost 1.84
...
Summary: related to T13686, #5
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27869
2024-02-12 15:20:27 +01:00
Korina Šimičević
d1d50d029d
Add connection error codes
...
Summary:
related to T13651
- separate code related to reason codes into their own header
- introduce new connection error codes that will be return when a non-recoverable error occurs in connect_op
- add appropriate coverage tests
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27808
2024-02-08 12:27:22 +01:00
Korina Šimičević
e0ae572e1b
Cancellation fixes
...
Summary:
related to T11798
- Cancel functions post outstanding handlers
- Properly cancel autoconnect stream
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27763
2024-02-06 15:27:39 +01:00
Korina Šimičević
0de02e3c53
Add async mutex unit tests
...
Summary:
related to T12015
- relax coroutine tests
- add async mutex unit tests
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27719
2024-02-06 07:44:05 +01:00
Korina Šimičević
5c7f0bc29d
Add missing malformed tests for publish packets
...
Summary:
related to T12015
- all malformed cases should now be fully covered!
- additionally, added a receive channel overflow test
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27709
2024-02-05 07:54:08 +01:00
Korina Šimičević
677e625d1a
Simplify usage of subscribe options enums
...
Summary: related to T13606
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27679
2024-02-02 10:21:03 +01:00
Korina Šimičević
46a48fb62c
Fix Win32 build
...
Summary: related to T11798
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27668
2024-02-01 15:00:22 +01:00
Korina Šimičević
e143fcce63
Fix initialization
...
Summary: related to T12015
Reviewers: iljazovic
Reviewed By: iljazovic
Subscribers: miljen
Differential Revision: https://repo.mireo.local/D27664
2024-02-01 11:00:05 +01:00
Korina Šimičević
0affdb76f4
Sanity tests related to number of packets, packet size & packet priority
...
Summary:
related to T12015
- add tests related to sending/receiving really big packets
- add tests related to receiving multiple packets at once
- send_big_publish fails in the testing environment, but it works fine in real life
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27652
2024-02-01 10:36:18 +01:00
Korina Šimičević
33c8eea890
Add function to set keep alive/ping interval
...
Summary:
related to T13566
- mqtt_client has a new keep_alive(seconds) function
- keep_alive(0) disables ping
- if keep_alive() is not called, the client assumes keep_alive=10
- the client respects server_keep_alive if sent by the broker
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27557
2024-02-01 08:29:22 +01:00
Korina Šimičević
d6c4884d53
(Un)subscribe validates the number of topics and reason codes
...
Test Plan:
related to T12015
- (un)subscribe reason codes will always contain as many reason codes as there are topic filters
- if, by some odd chance, the client receives the wrong number of rcs or some are invalid, it will treat it as malformed
- both subscribe_op and unsubscribe_op should be 100% covered by tests now
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27592
2024-01-30 15:25:58 +01:00
Korina Šimičević
4bf59cc18c
Better test packet logging & validation
...
Summary:
related to T12015, T11798
- improved packet logging in test broker for easier debugging
- test broker will fail the test if a packet is sent after all the messages were exchanged
- fixed a bug in assemble_op where read buffer was not properly cleared if an error occurred (for example, malformed packet cases)
Reviewers: ivica
Reviewed By: ivica
Subscribers: iljazovic, miljen
Differential Revision: https://repo.mireo.local/D27561
2024-01-26 10:28:41 +01:00
Korina Šimičević
61f17f6e0f
Fix user property encoding
...
Summary: related to T11798
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27532
2024-01-24 13:03:38 +01:00
Korina Šimičević
21d90a9fda
Simplify integration (un)subscribe & sender related tests
...
Summary: related to T12015
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27519
2024-01-23 15:32:50 +01:00
Korina Šimičević
05ae2f5562
Simplify integration publish tests
...
Summary: related to T12015
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27511
2024-01-23 13:22:26 +01:00
Korina Šimičević
85ef3e70e4
Simplify and shorten unit test code - part 2
...
Summary: related to T12015
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27502
2024-01-23 08:50:26 +01:00
Korina Šimičević
9b92f7fca2
Simplify and shorten unit test code - part 1
...
Summary: related to T12015
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27488
2024-01-23 07:54:38 +01:00
Bruno Iljazovic
28bf23947d
increase run_for duration in cancellation tests
...
Reviewers: ljudevit
Reviewed By: ljudevit
Subscribers: korina
Differential Revision: https://repo.mireo.local/D27476
2024-01-19 17:29:52 +01:00
Korina Šimičević
656e5c5d67
Remove credentials from tests
...
Summary: related to T12015
Reviewers: iljazovic
Reviewed By: iljazovic
Subscribers: miljen
Differential Revision: https://repo.mireo.local/D27471
2024-01-19 15:49:00 +01:00
Korina Šimičević
30711186bd
Update README & CI pipeline
...
Summary: related to T12804
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27469
2024-01-19 15:38:52 +01:00
Korina Šimičević
fa014fc337
Add op cancellation tests
...
Summary: related to T12015
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27459
2024-01-19 14:47:14 +01:00
Korina Šimičević
d7d0b4c239
Add re authentication tests
...
Summary: related to T12015
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27436
2024-01-19 11:30:41 +01:00
Korina Šimičević
1485d5ec8b
Add enhanced auth unit tests
...
Summary: related to T12015
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27425
2024-01-18 11:52:07 +01:00
Korina Šimičević
6267c5f706
Connect_op basic unit tests
...
Summary:
related to T12015
- added basic unit tests (without auth for a smaller diff)
- further simplified tests in publish_receive.cpp
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27417
2024-01-18 08:14:45 +01:00
Korina Šimičević
70f78a9f60
Add new tests cases & test housekeeping
...
Summary:
related to T12015
- error.hpp covered
- assemble_op.hpp fully covered
- malformed_pubrel test is now functional
- attempt at using fixtures in malformed_packet.cpp test suite to
lower the amount of copy-paste code lines
- test coverage ~89%
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27395
2024-01-17 07:59:14 +01:00
Bruno Iljazovic
4f87b27861
async_run
...
Reviewers: ivica
Reviewed By: ivica
Subscribers: korina
Differential Revision: https://repo.mireo.local/D27342
2024-01-16 13:18:21 +01:00
Korina Šimičević
2f6751d162
Separate tests into unit & integration
...
Summary:
- Separate tests into unit & integration
- Update paths in workflows
- Cut test execution time
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27374
2024-01-16 11:45:23 +01:00
Korina Šimičević
e3eb408c98
Complete serialization, publish_rec_op & unsubscribe tests
...
Summary: related to T12015
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27356
2024-01-15 12:32:40 +01:00
Korina Šimičević
3629c19ce9
Disconnect_op tests, malformed & resending tests in publish and subscribe op
...
Summary: related to T12015
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27323
2024-01-12 09:57:43 +01:00
Korina Šimičević
b83e1aa519
Add Windows Builds to CI pipeline
...
Summary: related to T12434
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27304
2024-01-10 15:01:10 +01:00
Korina Šimičević
2f76ce9593
Run test coverage
...
Summary:
related to T13434
- boost is installed as header only (binaries do not work with the coroutine code)
- added test coverage, final results: https://app.codecov.io/github/ksimicevic/async-mqtt5/commit/d9ef85a89b9361f916c747c928fa9303a2a0df2f/tree
- finally can compile coroutine code
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27287
2024-01-10 12:39:11 +01:00
Bruno Iljazovic
d78fdd3208
use associated executors for intermediate handlers
...
Summary: * per-operation cancellation changed: total/partial signals only prevent further resending, terminal signal cancels the whole client
Reviewers: ivica
Reviewed By: ivica
Subscribers: korina
Differential Revision: https://repo.mireo.local/D27246
2024-01-09 16:35:16 +01:00
Korina Šimičević
1996251253
Simplify CI flow, descriptive testing & cpp17 only builds
...
Summary:
related to T13434
coroutine examples do not compile (https://github.com/ksimicevic/async-mqtt5/actions/runs/7445396892/job/20253559020 )
in progress: coverage
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27261
2024-01-09 07:53:48 +01:00
Korina Šimičević
9ada50dd66
Setup CI posix pipeline
...
Summary:
related to T13434
results: https://github.com/ksimicevic/async-mqtt5/actions/runs/7423093001/job/20199741951
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27242
2024-01-08 09:30:07 +01:00
Korina Šimičević
123e70d8fe
Improved CONNECT & CONNACK property client functions
...
Summary: related to T13427
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27218
2024-01-05 08:03:38 +01:00
Korina Šimičević
6f5c179929
CMakeLists.txt modifications
2024-01-04 13:20:18 +01:00
friendlyanon
6abe93fcc9
Add CMake build and client support
2024-01-04 13:20:18 +01:00
Korina Šimičević
bf81ab5ee7
Handle all warnings on MSVC Win32
...
Summary: related to T13409
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27165
2024-01-02 16:04:18 +01:00
Korina Šimičević
794c72cb44
Handle all MSVC warnings
...
Summary: related to T13409
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27152
2024-01-02 11:50:15 +01:00
Korina Šimičević
7c0b9042d1
Allow user to modify CONNECT properties
...
Summary: related to T13332
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27108
2023-12-22 14:07:05 +01:00
Korina Šimičević
99f30b3880
control_packet::wire_data() returns std::string_view
...
Summary: related to T13332
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D27099
2023-12-22 10:52:13 +01:00
Korina Šimičević
97d8a4ea86
Validate control packet size
...
Summary: resolves T13332
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Maniphest Tasks: T13332
Differential Revision: https://repo.mireo.local/D27000
2023-12-22 10:00:53 +01:00
Bruno Iljazovic
79d3f7606d
[tests] validate client to test broker packets
...
Reviewers: ivica
Reviewed By: ivica
Subscribers: korina
Differential Revision: https://repo.mireo.local/D27018
2023-12-18 13:30:10 +01:00
Korina Šimičević
9af32a942b
Properties & string validation
...
Summary: related to T13318
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D26975
2023-12-14 15:29:40 +01:00