Commit Graph

40 Commits

Author SHA1 Message Date
Korina Šimičević
0d6bbbc424 Add a chapter on asio compliance - executors
Summary: related to T12804

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D28496
2024-03-20 10:11:55 +01:00
Korina Šimičević
8dfbdf2d38 Update publisher and receiver examples
Summary:
related to T12804
publisher example will now showcase how to publish a message every 5 seconds
receiver example will now show how to subscribe, indefinitely receive messages and resubscribe if needed

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D28472
2024-03-15 15:23:33 +01:00
Korina Šimičević
4b65ffc194 Add a chapter on disconnection
Summary: related to T12804

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D28465
2024-03-15 07:39:58 +01:00
Korina Šimičević
bbcc7b1cd0 Add a chapter on optimising communication (multiflight, packet queing)
Summary: related to T12804

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D28440
2024-03-13 15:00:02 +01:00
Korina Šimičević
5886fbf82b Add a chapter on maintaing a healthy connection (keep alive, ping, read timeout)
Summary: related to T12804

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D28240
2024-03-12 12:32:17 +01:00
Korina Šimičević
f34705d74e Add a chapter on auto-reconnect and retry mechanism
Summary: related to T12804

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D28198
2024-02-29 14:19:28 +01:00
Korina Šimičević
3abacf7a41 Documentation rework - add Configuring the Client chapter
Summary: related to T12804

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D28182
2024-02-28 10:30:32 +01:00
Korina Šimičević
c51b570f6a Document per-operation cancellation for all asynchronous operations
Summary:
related to T12804
- document per-operation cancellation for all async ops
- async_disconnect no longer copies documentation from other overload

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D28085
2024-02-22 13:10:58 +01:00
Bruno Iljazovic
1acdd99f28 Support multiple subscription identifiers in received messages.
Summary:
- refactor property encoding
- change user property type to be std::pair<std::string, std::string>

Reviewers: ivica

Reviewed By: ivica

Subscribers: korina

Differential Revision: https://repo.mireo.local/D27867
2024-02-16 10:59:07 +01:00
Bruno Iljazovic
cbe477a701 Correct two/four byte integer properties' types.
Reviewers: ivica

Reviewed By: ivica

Subscribers: korina

Differential Revision: https://repo.mireo.local/D27901
2024-02-14 15:20: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ć
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ć
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ć
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ć
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
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ć
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ć
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
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
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
Korina Šimičević
e191679889 [mqtt-client] add readme & license, doc fixes
Summary: resolves T13126

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Maniphest Tasks: T13126

Differential Revision: https://repo.mireo.local/D26629
2023-11-20 15:32:59 +01:00
Korina Šimičević
73620e5653 publisher & receiver examples, better completion token examples
Reviewers: iljazovic, ivica

Reviewed By: ivica

Subscribers: miljen

Differential Revision: https://repo.mireo.local/D26582
2023-11-17 10:11:00 +01:00
Korina Šimičević
376393fbfa fix accidental land of the wrong commit
Summary: related to T12804

Reviewers: iljazovic

Reviewed By: iljazovic

Subscribers: miljen

Differential Revision: https://repo.mireo.local/D26547
2023-11-15 11:55:03 +01:00
Korina Šimičević
47ef696779 [mqtt-client] introduction v1
Summary: related to T12804

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D26513
2023-11-15 11:26:41 +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
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
Korina Šimičević
ed0e838d87 [mqtt-client] mqtt_client with asio::use_future documented
Summary: related to T12804

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D26370
2023-11-02 13:15:23 +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
Korina Šimičević
2f1f910552 [mqtt-client] some doc fixes
Summary:
related to T12804

- b2 rebuilds when documented .hpp files are changed

- some text changes

- some link fixes

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen

Differential Revision: https://repo.mireo.local/D26240
2023-10-26 13:42:51 +02:00
Korina Šimičević
64cb24dbd6 [mqtt-client] doc generation no longer uses docca
Summary: related to T12804

Reviewers: ivica

Reviewed By: ivica

Subscribers: iljazovic, miljen

Differential Revision: https://repo.mireo.local/D26219
2023-10-24 07:59:52 +02:00
Korina Šimičević
7cb1a877a3 [mqtt-client] slightly better error code documentation
Summary: related to T12804

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D26165
2023-10-20 11:28:19 +02:00
Korina Šimičević
62d7eb21b2 [mqtt-client] A lot of various document changes
Summary:
related to T12804

- property files are now lowercase and match code names

- properties properly link to their pages

- packet names do not automatically link anymore

- TlsContext documented

- types inside handler signatures properly link to their pages

next up: better error code documentation

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D26155
2023-10-18 15:34:37 +02:00
Korina Šimičević
402b8bf0b1 [mqtt-client] section about packet properties improved
Summary:
related to T12804

	- all properties now have usage & example paragraph
	- each property has its own page

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen

Differential Revision: https://repo.mireo.local/D26127
2023-10-17 13:08:09 +02:00
Korina Šimičević
22f1330fed [mqtt-client] reason codes & properties documented
Summary: related to T12804

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen

Differential Revision: https://repo.mireo.local/D26113
2023-10-17 09:29:12 +02:00
Korina Šimičević
3d3f7aeb94 [mqtt-client] documentation setup
Summary: related to T12804

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen

Differential Revision: https://repo.mireo.local/D26026
2023-10-13 09:38:20 +02:00