891380bdf5
feat: Make state and size atomic
...
This makes the mqtt client state atomic to reduce the scope of locking in
some parts of the code.
2024-03-12 08:49:36 +01:00
00ee059bf8
fix: Uses caps allocation for data buffer instead of item struct
...
Once introduced the memory destination for outbox was incorrectly
allocating the outbox data structuture instead of data buffer to the
selected memory.
2023-09-13 08:04:38 +02:00
a3b04f2d0a
fix: LOG format strings
...
Fix log format strings and remove no-format warning configuration.
2023-06-30 10:17:32 +02:00
5d491a45ce
Fix: Outbox was leaked in case of initialization failure
...
If the the list allocation fail, outbox must be freed.
2023-06-14 13:36:42 +02:00
372ab7b374
feat: Introduces outbox limit
...
A memory limit for the outbox can be configured.
User will not be able to publish or enqueue if the new message goes
beyond the configured limit.
2023-06-13 15:59:55 +02:00
21a5491d53
Removes unused outbox functions.
2023-06-13 11:56:11 +02:00
2c71f9e69b
feat: Adds a configuration for outbox data destination
...
Allow user to move outbox data to external SPI RAM.
2023-04-12 08:43:40 +00:00
fb3184cc14
Make the mqtt submodule logging tags lower case
2022-04-04 10:33:06 +02:00
df8dc92870
Client: Fix use esp_mqtt_client_enqueue API to send data, data dup flag will be set 1
2021-11-26 15:52:04 +08:00
ebef896b00
Removes unnecessary outbox_cleanup
...
The states that were cleaned by this function, CONFIRMED, are no longer reachable.
Itens were marked with this status previously in PUBCOMP and PUBREL
receive handlers.
2021-07-01 14:40:45 +01:00
1a94efe8b9
outbox: Cleanup all items when connection closes
2021-06-24 06:31:29 +02:00
ff8e64839a
mqtt_outbox: Use STAILQ_FOREACH for outbox_delete_single_expired
...
For the delete one entry and return case, no need to use STAILQ_FOREACH_SAFE.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2021-04-20 11:27:42 +08:00
87fcce72c9
Reduce the includes used in all files.
...
- To reduce the dependencies to the minimal the number of includes was
reduced.
2021-04-07 10:49:49 +01:00
e2de0f3e3e
Publish: Allow for qos=0 messages to be stored using esp_mqtt_client_enqueue()
...
The API presents a boolean parameter to control storing the qos=0
messages into the internal outbox
2020-12-15 19:43:33 +01:00
2e35d4d4d5
Events: Add new event to report deleted messages from outbox
2020-12-09 10:14:54 +01:00
673086e13a
mqtt_outbox: Remove unused retry_count field from outbox_item_t
...
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2020-11-09 16:08:22 +08:00
f7941e29be
mqtt_outbox: fixed outbox_destroy() to correctly delete all queued messages
...
Closes https://github.com/espressif/esp-idf/issues/4643
Closes IDFGH-2558
Closes https://github.com/espressif/esp-mqtt/issues/148
Closes IDFGH-2599
Closes https://github.com/espressif/esp-mqtt/issues/147
Closes IDFGH-2598
2020-01-29 08:22:52 +01:00
6e08f6a04f
mqtt_outbox: fix to store timestamps in long-long format
...
closes https://github.com/espressif/esp-mqtt/issues/144
closes IDFGH-2491
2020-01-25 21:57:02 +01:00
52cdfa9087
Fix early retransmit
...
The time for retransmitting a message was set before transfer was done. This ment that if the transfer speed is slow or the message is big then it would be possible to trigger a retransmit too early.
Closes https://github.com/espressif/esp-mqtt/issues/131
2019-10-03 14:03:32 +02:00
971bf47e14
outbox: suppress clang-tidy warning of using ptr after free (no possible for STAILQ structure), removed unnecessary print
2019-06-06 17:00:03 +02:00
2ef78857e9
fix -Wstrict-prototypes issues
2019-05-17 14:36:44 +02:00
18b6f2c582
Fixed formatting for all files to comply with idf style formats
2019-05-15 13:40:14 +02:00
7d22ab5fe6
pending_msg_count update on delete expired from outbox
...
Closes #111
2019-05-06 11:23:35 +02:00
ca373e22cb
change rom/queue.h to sys/queue.h
2019-03-14 20:26:28 +08:00
51089629f7
corrected outbox for oversized messge and qos1, added errno to error messages
2019-02-13 15:21:32 +01:00
6a0d1e7bff
support for qos1 and qos2 message retrasmission on reconnect
2019-02-13 15:21:32 +01:00
e0bbbebc08
mqtt support for sending fragmented messages and full mqtt message length support
2019-01-03 09:14:34 +01:00
0c25441fdd
support for custom implementation of msg outbox
2018-08-21 11:55:36 +02:00
75d3c65cb6
Add error handling for mqtt, fixed some issues
2018-05-03 21:50:24 +07:00
503c540eee
remove license header and add doc
2018-02-16 18:46:13 +07:00
083f8789ac
Add support outbox, changed API
2018-02-16 02:40:16 +07:00