Commit Graph

34 Commits

Author SHA1 Message Date
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ć
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ć
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ć
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ć
1c29b86030 Use basic_channel instead of basic_concurrent_channel
Summary: related to T11798

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D28061
2024-02-22 10:03:35 +01:00
Korina Šimičević
eb510ae1d4 Fixed inconsistencies in connect/connack property accessor function signatures
Summary: related to T11798

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D27941
2024-02-15 13:26:45 +01:00
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ć
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ć
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ć
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
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
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ć
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ć
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ć
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
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ć
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
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
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
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
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
Korina Šimičević
83493c83d9 [mqtt client&test] #includes housekeeping
Summary: resolves T12777

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen

Maniphest Tasks: T12777

Differential Revision: https://repo.mireo.local/D25995
2023-10-06 12:31:55 +02:00
Korina Šimičević
2d957cd46f [mqtt-client] boost-like project folder structure
Summary: resolves T12767

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen

Tags: #spacetime

Maniphest Tasks: T12767

Differential Revision: https://repo.mireo.local/D25970
2023-10-05 15:19:18 +02:00