Euripedes Rocha
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
Euripedes Rocha
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
Euripedes Rocha
a3b04f2d0a
fix: LOG format strings
...
Fix log format strings and remove no-format warning configuration.
2023-06-30 10:17:32 +02:00
Euripedes Rocha
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
Euripedes Rocha
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
Euripedes Rocha
21a5491d53
Removes unused outbox functions.
2023-06-13 11:56:11 +02:00
Euripedes Rocha
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
AndriiFilippov
fb3184cc14
Make the mqtt submodule logging tags lower case
2022-04-04 10:33:06 +02:00
yuanjm
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
Euripedes Rocha
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
David Cermak
1a94efe8b9
outbox: Cleanup all items when connection closes
2021-06-24 06:31:29 +02:00
Axel Lin
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
Euripedes Rocha Filho
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
David Cermak
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
David Cermak
2e35d4d4d5
Events: Add new event to report deleted messages from outbox
2020-12-09 10:14:54 +01:00
Axel Lin
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
David Cermak
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
David Cermak
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
Marius Vikhammer
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
David Cermak
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
Ivan Grokhotkov
2ef78857e9
fix -Wstrict-prototypes issues
2019-05-17 14:36:44 +02:00
David Cermak
18b6f2c582
Fixed formatting for all files to comply with idf style formats
2019-05-15 13:40:14 +02:00
David Cermak
7d22ab5fe6
pending_msg_count update on delete expired from outbox
...
Closes #111
2019-05-06 11:23:35 +02:00
suda-morris
ca373e22cb
change rom/queue.h to sys/queue.h
2019-03-14 20:26:28 +08:00
David Cermak
51089629f7
corrected outbox for oversized messge and qos1, added errno to error messages
2019-02-13 15:21:32 +01:00
David Cermak
6a0d1e7bff
support for qos1 and qos2 message retrasmission on reconnect
2019-02-13 15:21:32 +01:00
David Cermak
e0bbbebc08
mqtt support for sending fragmented messages and full mqtt message length support
2019-01-03 09:14:34 +01:00
David Cermak
0c25441fdd
support for custom implementation of msg outbox
2018-08-21 11:55:36 +02:00
Tuan PM
75d3c65cb6
Add error handling for mqtt, fixed some issues
2018-05-03 21:50:24 +07:00
Tuan PM
503c540eee
remove license header and add doc
2018-02-16 18:46:13 +07:00
Tuan PM
083f8789ac
Add support outbox, changed API
2018-02-16 02:40:16 +07:00