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ć
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ć
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ć
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
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ć
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
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ć
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ć
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
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
Korina Šimičević
b275411ada
Validate subscribe requests
...
Summary: resolves T13305
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Maniphest Tasks: T13305
Differential Revision: https://repo.mireo.local/D26954
2023-12-14 08:41:04 +01:00
Korina Šimičević
26454e75eb
Topic filter & topic name validation
...
Summary: related to T13170
Reviewers: ivica
Reviewed By: ivica
Subscribers: iljazovic, miljen
Differential Revision: https://repo.mireo.local/D26899
2023-12-13 12:03:52 +01:00
Korina Šimičević
0d778c6b59
Update examples, tests & docs
...
Summary: related to T13242
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D26889
2023-12-07 15:47:02 +01:00
Bruno Iljazovic
e0a0bafbf1
thread-safe client
...
Reviewers: ivica
Reviewed By: ivica
Subscribers: korina
Differential Revision: https://repo.mireo.local/D26864
2023-12-07 15:16:44 +01:00
Korina Šimičević
e849166599
Downgrade C++ standard requirement to C++17
...
Summary: related to T13242
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D26860
2023-12-07 09:50:41 +01:00
Korina Šimičević
3640a4fb2a
Remove using enum constructs
...
Summary: related to T13242
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D26841
2023-12-06 10:07:41 +01:00
Korina Šimičević
35b190ef67
Declaration changes meaning fix
...
Summary: resolves T13222
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Maniphest Tasks: T13222
Differential Revision: https://repo.mireo.local/D26828
2023-12-05 12:28:47 +01:00
Ivica Siladic
680df91ee0
Properties code now compiles with C++17. Nagle disabled on stream.
2023-12-05 10:32:33 +01:00
Ivica Siladic
d9489597b3
Syntax consolidation.
2023-12-04 18:42:57 +01:00
Ivica Siladic
d00acde499
Improve compilation time by 25% by reducing number of template class instantiation.
2023-12-03 11:52:04 +01:00
Korina Šimičević
64a003e2ed
Do not store ec=session_expired if the client never subscribed
...
Summary: related to T13152
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D26803
2023-12-01 15:49:02 +01:00
Bruno Iljazovic
3e1a8d1bb6
[examples] cancel -> disconnect
...
Reviewers: korina
Reviewed By: korina
Differential Revision: https://repo.mireo.local/D26781
2023-11-30 14:39:44 +01:00
Bruno Iljazovic
dfd4b41a4e
support large publish packets
...
Reviewers: ivica
Reviewed By: ivica
Subscribers: korina
Differential Revision: https://repo.mireo.local/D26763
2023-11-30 10:43:52 +01:00
Ivica Siladic
8c1c4fab9f
Align utf8 manipulation code style.
2023-11-30 08:36:05 +01:00
Ivica Siladic
a5d020155f
Fix dangling reference in tracking_executor().
2023-11-30 08:34:47 +01:00
Korina Šimičević
c18e5fc4f4
topic validation in subscribe, unsubscribe & publish
...
Summary: resolves T13170
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Maniphest Tasks: T13170
Differential Revision: https://repo.mireo.local/D26728
2023-11-29 11:52:16 +01:00
Bruno Iljazovic
f6248eea40
correct tracking executor
...
Summary: - don't resend per-operation cancelled publish and (un)subscribe operations
Reviewers: ivica
Reviewed By: ivica
Subscribers: korina
Differential Revision: https://repo.mireo.local/D26724
2023-11-28 11:04:14 +01:00
Korina Šimičević
0eaa9d7235
fix tests
...
Summary: related to T12015
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D26693
2023-11-24 12:53:42 +01:00
Korina Šimičević
b4f4cd0047
add a notification in receive channel when session resets
...
Summary: resolves T13152
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Maniphest Tasks: T13152
Differential Revision: https://repo.mireo.local/D26679
2023-11-23 15:46:30 +01:00
Korina Šimičević
5034734fc4
expose CONNACK properties
...
Summary: resolves T13155
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Maniphest Tasks: T13155
Differential Revision: https://repo.mireo.local/D26681
2023-11-23 13:45:14 +01:00
Bruno Iljazovic
a9dd6553f2
[mqtt-client] receive channel discards oldest message
...
Reviewers: ivica
Reviewed By: ivica
Subscribers: korina
Differential Revision: https://repo.mireo.local/D26538
2023-11-15 11:16:26 +01:00
Korina Šimičević
d77c97e3f2
[mqtt-client] fix string iterators in range are from different containers
...
Summary: related to T11798
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D26522
2023-11-14 08:53:09 +01:00
Korina Šimičević
d1356b7bb7
[mqtt-client] added completion condition paragraph to async functions
...
Summary: related to T12804
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D26421
2023-11-13 08:05:30 +01:00
Bruno Iljazovic
22eb70617c
[mqtt-client] add support for re-authentication
...
Summary:
https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901257
Resolves T12899
Reviewers: ivica
Reviewed By: ivica
Subscribers: korina
Maniphest Tasks: T12899
Differential Revision: https://repo.mireo.local/D26414
2023-11-08 11:05:46 +01:00
Korina Šimičević
c8036c0d46
[mqtt-client] added chapter on different ways to establish network connection
...
Summary:
related to T12804
- added chapter on network connection
- added code examples
- remove any_authenticator from doc targets
- manually create table of contents
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D26401
2023-11-03 14:15:35 +01:00
Bruno Iljazovic
7e60e7a919
[mqtt-client] add support for enhanced authentication
...
Summary:
- Relates to T12899
- TODO: support re-authentication
Reviewers: ivica
Reviewed By: ivica
Subscribers: korina
Maniphest Tasks: T12899
Differential Revision: https://repo.mireo.local/D26327
2023-11-03 09:01:26 +01:00
Bruno Iljazovic
57349c587b
[mqtt-client] add move constructor
...
Summary: Resolves T12913
Reviewers: ivica
Reviewed By: ivica
Subscribers: korina
Maniphest Tasks: T12913
Differential Revision: https://repo.mireo.local/D26376
2023-11-02 13:31:41 +01:00
Korina Šimičević
e7227d70ec
[mqtt-client] coroutine & callback examples
...
Summary:
related to T12804
- added asio::no_recovery to list of possible error codes
- added examples with asio::use_awaitable and callbacks as completion tokens
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D26355
2023-11-02 08:01:03 +01:00
Bruno Iljazovic
928f1a7ba4
[mqtt-client] fix stack-use-after-return
...
Reviewers: ivica
Reviewed By: ivica
Subscribers: korina
Differential Revision: https://repo.mireo.local/D26354
2023-11-02 07:22:19 +01:00
Bruno Iljazovic
10556a3dda
[mqtt-client] pids start from 1
...
Summary: remove flat_map dependency
Reviewers: ivica
Reviewed By: ivica
Subscribers: korina
Differential Revision: https://repo.mireo.local/D26336
2023-10-31 09:16:34 +01:00
Korina Šimičević
15a3d62727
[mqtt-test] cancellation tests from long time ago
...
Summary:
related to T12015
- added some cancellation tests (testing ioc.stop() & client.cancel()
- some tests fail and some hang (on windows specifically)
Reviewers: ivica
Reviewed By: ivica
Subscribers: miljen, iljazovic
Differential Revision: https://repo.mireo.local/D26317
2023-10-30 12:04:14 +01:00