AndriiFilippov
fb3184cc14
Make the mqtt submodule logging tags lower case
2022-04-04 10:33:06 +02:00
Darian Leung
6ef98d6510
Client: Remove usage of legacy FreeRTOS types
2022-01-13 00:34:53 +08:00
yuanjm
372b323535
mqtt_client: Fix mqtt send long data error
...
Closes https://github.com/espressif/esp-mqtt/issues/214
2021-12-21 15:31:56 +08: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
09287a1156
Removes redundant field on mqtt state
...
Client connection_info was unnecessarilly repeated. Removed from
mqtt_state and kept on mqtt_client.
2021-11-01 18:17:29 +01:00
Euripedes Rocha
1fd50dd2cb
Adds a config flag to allow an empty client id
...
This commit covers a use case where the user can select to send an
empty user id.
2021-11-01 18:17:29 +01:00
David Cermak
3f05b1aedc
Client: Fix reconnect/disconnect if auto_reconnect=off
...
Closes https://github.com/espressif/esp-mqtt/issues/206
2021-10-06 17:46:32 +02:00
David Cermak
86e40f8615
Send disconnect message if client asked to disconnect
...
https://github.com/espressif/esp-mqtt/issues/208
2021-10-06 17:46:32 +02:00
Bert Melis
de47f1c341
add payload to MQTT_EVENT_SUBSCRIBE
...
+ documentation
+ cleanup logging
Closes https://github.com/espressif/esp-mqtt/issues/200
Merges https://github.com/espressif/esp-mqtt/pull/203
2021-10-04 10:38:02 +02:00
Bert Melis
e1d5a9402f
add qos and dup to MQTT_EVENT_DATA
2021-09-23 18:09:39 +02:00
David Čermák
89894bd0c6
Merge branch 'feature/configurable_retransmit' into 'master'
...
Add configurable retransmit (GitHub PR)
See merge request espressif/esp-mqtt!110
2021-09-15 18:10:50 +00:00
David Čermák
1d10608409
Merge branch 'feature/set_config_error_reporting' into 'master'
...
Reports config conflicts error to the user
See merge request espressif/esp-mqtt!102
2021-09-15 16:46:35 +00:00
Umer Ilyas
1b009c840b
Config: Add configurable retransmit timeout
...
sometime user want to configure retransmit timeout due to network or other requirement
Merges https://github.com/espressif/esp-mqtt/pull/199
2021-09-15 18:43:23 +02:00
Euripedes Rocha
88f4b8ed50
Reports config conflicts error to the user
...
- Configuration conflicts were verified, logged but not reported to the
user.
2021-09-15 15:09:23 +08:00
David Cermak
5b3c81ee48
Config: Fix build issue if WS/WSS transport disabled
...
Closes https://github.com/espressif/esp-idf/issues/7535
2021-09-10 09:15:41 +02:00
David Cermak
1b71980575
Config: Add error message if certbunde is not enabled
...
Merges https://github.com/espressif/esp-mqtt/pull/198
2021-09-07 15:42:11 +02:00
fractal-def
4a89bff610
Check CONFIG_MBEDTLS_CERTIFICATE_BUNDLE is set
...
Fixes a compilation error where `esp_transport_ssl_crt_bundle_attach` is undefined in this scenario.
2021-08-10 15:02:35 -06:00
David Čermák
026ea95338
Merge branch 'remove_outbox_cleanup_function' into 'master'
...
Removes unnecessary outbox_cleanup
See merge request espressif/esp-mqtt!108
2021-07-09 16:13:48 +00: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
Euripedes Rocha
7471177fe7
Fix: Return an error when fail to enqueue
...
The functions that enqueue messages didn't had a return for the
handler, with this the error was only logged instead of returned which
may cause the user to have an ID for a message that was not published.
2021-07-01 09:29:58 +01:00
David Čermák
831d25cb56
Merge branch 'update/qemu_test_IDFv4.3' into 'master'
...
CI: Update QEMU image and test against IDF v4.4-dev (plus minor fixes)
See merge request espressif/esp-mqtt!104
2021-06-24 16:34:31 +00:00
David Cermak
1a94efe8b9
outbox: Cleanup all items when connection closes
2021-06-24 06:31:29 +02:00
David Čermák
c4b7324bd6
Merge branch 'feature/remove_unnecessary_queue_requests' into 'master'
...
Removes unnecessary calls to outbox_set_pending
See merge request espressif/esp-mqtt!105
2021-06-23 06:46:06 +00:00
Euripedes Rocha
67553aba45
MQTT: Makes abort connection function void.
...
The function only returned ESP_OK and the call was always ignored.
2021-06-18 17:18:51 +01:00
Euripedes Rocha
36a3990404
Removes unnecessary calls to outbox_set_pending
...
The call of this function is unnecessary for PUBACK and PUBCOMP,
also the item is deleted on the call of is_valid_mqtt_msg and the
function allways fail.
2021-06-18 14:11:21 +01:00
David Čermák
78fcf23947
Merge branch 'bugfix/partial_transport_writes' into 'master'
...
Address partial writes and retain flags
See merge request espressif/esp-mqtt!99
2021-05-26 15:56:08 +00:00
David Čermák
048f12f55f
Merge branch 'feature/add_crt_bundle' into 'master'
...
Added support for certificate bundle
See merge request espressif/esp-mqtt!98
2021-05-26 15:54:21 +00:00
David Čermák
ff8226a464
Merge branch 'bugfix/missing_path_field_in_config' into 'master'
...
Fix: Adds missing field at config struct.
See merge request espressif/esp-mqtt!96
2021-05-26 15:51:45 +00:00
liuhan
8f3cac8c36
Client: Add optimize for depend on ssl
2021-05-24 16:14:02 +02:00
David Cermak
d8c9c7a9e7
Add support for partial transport writes
...
Partially addresses https://github.com/espressif/esp-idf/issues/6940
2021-05-24 10:58:42 +02:00
David Cermak
a00a3134c6
Add support for Retain flag in messages posted by events
...
Closes https://github.com/espressif/esp-mqtt/issues/193
2021-05-24 10:57:37 +02:00
flohas
06157be118
Add crt_bundle function pointer to be accessible from esp_mqtt_client_config_t
2021-05-24 10:32:10 +02:00
Euripedes Rocha
5b27d1896e
Fix: Adds missing field at config struct.
...
If an user chooses to config broker by hostname it wasn't possible to
add the path.
2021-05-14 15:57:42 +01:00
David Čermák
1db731f985
Merge branch 'feature/mqtt_unit_test_cleanup' into 'master'
...
Reduce the includes used in files.
See merge request espressif/esp-mqtt!93
2021-04-07 11:37:00 +00: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
suren.gabrielyan
2f57985c0b
esp-mqtt: Added nullchecks for public APIs
...
Closes IDFGH-4724
Closes https://github.com/espressif/esp-mqtt/issues/185
2021-03-04 18:30:27 +04:00
David Cermak
001dc1a95e
Config: Add missing nullcheck after cfg password allocation
...
Partially addresses https://github.com/espressif/esp-idf/issues/6440
2021-02-11 15:54:45 +01:00
Euripedes Rocha Filho
369f4207f8
Renames states and add missing handler on task
...
- The state transition on esp_mqtt_task was missing 2 states
- MQTT_STATE_ERROR removed
- Added a default case for state transition.
- Renamed MQTT_STATE_WAIT_TIMEOUT -> MQTT_STATE_WAIT_RECONNECT
2021-01-27 17:33:22 +00:00
David Čermák
a74adfa9eb
Merge branch 'client_init_refactor' into 'master'
...
Clean client init
See merge request espressif/esp-mqtt!87
2021-01-21 15:57:52 +08:00
Euripedes Rocha Filho
e05ed2ce18
mqtt: Clean client init
...
- Moves check and copy of parameter to a function to reduce repetition
- Removes cfg variable to be explicit about what is being modified.
2021-01-19 11:54:09 +00:00
Euripedes Rocha Filho
b834be80a5
mqtt: Makes esp_mqtt_destroy_config void
...
- Makes the function a nop in case of NULL config.
2021-01-18 11:42:59 +00: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
David Cermak
f44dcb1c26
Config: Add a new option to disable publishing when disconnected
...
Related https://github.com/espressif/esp-mqtt/pull/177
2020-12-09 10:14:54 +01:00
Umer Ilyas
dc7fd5c0b1
Publish: Add new API to enqueue qos>0 messages
...
Closes https://github.com/espressif/esp-mqtt/issues/155
2020-12-09 10:14:54 +01:00
Axel Lin
b7158a4aea
mqtt: Remove unused mqtt_header_state_t
...
mqtt_header_state_t was added by commit 0450bd0093 ("MQTT Client: Added support for receiving empty payload"),
but it's no longer used since commit fd564b1f17 ("client receive: refactor receive to read only one message to fragment only payload for longer messages").
Thus remove the unused mqtt_header_state_t.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2020-11-23 16:24:33 +08:00
David Cermak
8562437c8a
mqtt_config: Add config value to disable keepalive mechanism
...
Added a separate config value to allow disable the keepalive mechanism (and keep the existing API the same)
Internally though, the keepalive value (in connect_info) is in line with 3.1.2.10 Keep Alive from mqtt spec:
* keepalive=0: Keep alive mechanism disabled (server not to disconnect the client on its inactivity)
* period in seconds to send a Control packet if inactive
Closes https://github.com/espressif/esp-mqtt/issues/179
2020-11-18 14:41:44 +01:00
David Čermák
e8be6c3aa7
Merge branch 'feature/add_get_outbox_size' into 'master'
...
Add esp_mqtt_client_get_outbox_size API
See merge request espressif/esp-mqtt!82
2020-11-18 16:45:27 +08:00
David Čermák
65d8a813ea
Merge branch 'bugfix/missing_unlock_and_cleanup' into 'master'
...
Minor fixes and cleanup
See merge request espressif/esp-mqtt!81
2020-11-18 16:44:41 +08:00
Axel Lin
0a1d9d0300
mqtt: Add esp_mqtt_client_get_outbox_size API
...
Allow application to get current outbox_size.
Application may try to send many publish request for a long period and then
system can hit OOM when publish QoS>1 with a busy borker.
Reduce OUTBOX_EXPIRED_TIMEOUT_MS does not help too much because the publish
freauency depends on the data received in different environment.
i.e. In some environment, sometimes it's easy to hit OOM before reaching OUTBOX_EXPIRED_TIMEOUT_MS.
To avoid such issue, add esp_mqtt_client_get_outbox_size API, so the application
can stop publishing to avoid OOM when outbox takes too much memory.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2020-11-11 17:13:32 +08:00