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
David Cermak
8bb4a26f46
Config: Add a new option to use incremental message id
...
This option is off by default, so the client still uses
random message id unless CONFIG_MQTT_MSG_ID_INCREMENTAL is set
Closes https://github.com/espressif/esp-mqtt/issues/176
2020-12-09 10:12:57 +01:00
David Cermak
f65d5d05db
Cleanup public include dirs
2020-12-06 11:26:03 +01: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
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
Angus Gratton
b9db8d9020
Use size_t for all lengths
...
Previously, uint32_t and size_t were used interchangeably. These types are
interchangeable on Xtensa gcc (uint32_t == size_t == unsigned int), but not on most
other 32-bit gcc architectures (where uint32_t == unsigned long, size_t ==
unsigned int).
2020-10-09 16:33:12 +11:00
David Cermak
420441b677
set separate ssl connection properties before transport connect
2020-01-30 08:31:59 +01: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
7087193093
mqtt_msg: address const correctness
2020-01-25 21:57:02 +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
David Čermák
8ab095b5bb
Merge branch 'feature/protocol_ver_rt_cfg' into 'master'
...
MQTT: Add runtime selection of mqtt protocol version
See merge request espressif/esp-mqtt!54
2020-01-20 16:41:55 +08:00
Marius Vikhammer
7ac0a42831
MQTT: Add runtime selection of mqtt protocol version
...
Add config option for selecting protocol version at runtime.
This also fixed MQTT protocol version 3.1 which wasnt working with the original implementation
Closes https://github.com/espressif/esp-idf/issues/4448
Closes IDFGH-2311
Closes IDF-1320
2020-01-09 14:49:33 +08:00
Rohan Singh
ab1e8d7969
Support larger buffers and messages
...
Use `uint32_t` instead of `uint16_t` for message and buffer lengths.
This is necessary for receiving messages that are larger than 65K.
2020-01-08 15:00:10 -05:00
João Cabral
67042a1315
ADD: Get the response code from a failing connection.
...
This commit adds an event information "connect_return_code" that is written
when the client state is MQTT_STATE_INIT, and the connection fails.
This event info can then be written by the user app to find out the reason
of the fail connection.
Merges https://github.com/espressif/esp-mqtt/pull/100
2019-10-09 09:23:53 +02: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
Marius Vikhammer
3e35fc8323
MQTT: fix MQTT_PUBLISHED_EVENT not always being posted
...
- Some PUBLISHED events would not be posted due to outbox messages being deleted before receiving PUBCOMP.
- Current pending_message is no longer used to check for acknowledgements, as it doesn't work with multiple or out of order messages.
Closes https://github.com/espressif/esp-mqtt/issues/132
2019-10-03 13:28:51 +02:00
Laurent Louf
2e0e93a2d3
Add a check when publishing data to be able to publish a message without data without crashing.
...
Signed-off-by: Marius Vikhammer <marius.vikhammer@espressif.com >
Merges https://github.com/espressif/esp-mqtt/pull/117
2019-09-24 18:25:55 +08:00
Laurent Louf
2b04d177c7
Add a check when publishing data to verify that if some data length is set, data pointer cannot be NULL, in which case an error is returned.
...
Signed-off-by: Marius Vikhammer <marius.vikhammer@espressif.com >
2019-09-24 18:24:52 +08: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
60cdb79a67
mqtt_msg: avoid uncasting const to mqtt topic and data pointers
2019-05-15 13:40:14 +02:00
João Cabral
db71c753aa
FIX: mqtt_get_id wrong logic on msg size checks.
...
This error was preventing the function from returning the right msg ID,
returning always 0.
2019-05-15 13:40:14 +02:00
David Cermak
35fc42d2b9
mqtt_msg: added missing message type for unsubscribe msg type
...
Closes #109
2019-05-06 11:23:35 +02:00
David Cermak
7d22ab5fe6
pending_msg_count update on delete expired from outbox
...
Closes #111
2019-05-06 11:23:35 +02:00
David Cermak
fd564b1f17
client receive: refactor receive to read only one message to fragment only payload for longer messages
...
Closes #113
2019-05-06 11:23:28 +02:00
Gregory Eslinger
0450bd0093
MQTT Client: Added support for receiving empty payload
2019-04-26 17:07:04 +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
Riccardo Binetti
8bd8583216
Add mqtt_get_connect_session_present
2018-10-15 11:29:47 +02:00
David Cermak
d344f928ca
transport: renamed transport headers to avoid compilation collisions
2018-10-02 14:17:54 +02:00
Angus Gratton
61f411c1f9
Revert "Merge branch 'feature/idf_transport_API_change' into 'idf'"
...
This reverts merge request !3
2018-09-24 13:25:04 +08:00
Jitin George
cbeaf67fe3
esp-mqtt: Add support for modified transport_set_func() API from esp-idf/component/tcp_transport
2018-09-18 17:49:41 +05:30
David Cermak
3bbdebcca9
bugfix for longer data on ws transport
2018-08-21 11:55:36 +02:00
David Cermak
0c25441fdd
support for custom implementation of msg outbox
2018-08-21 11:55:36 +02:00
David Cermak
fa7ade77b1
IDF integration: Refactored to common tcp transport component, fixed warnings
2018-08-21 11:55:36 +02:00
Ivan Aponte
87ef46a9b4
fix some keepalives issues ( #51 )
...
* merge some changes
* fix blocking issue
2018-06-01 23:06:53 +07:00
Tuan PM
75d3c65cb6
Add error handling for mqtt, fixed some issues
2018-05-03 21:50:24 +07:00
Christian Gawron
4bc37bb8db
fix handling of large messages ( #40 )
2018-05-03 20:46:06 +07:00
agmuntianu
5c46be5ada
Crash fixes and ssl connection ( #29 )
...
* add missing config for setting default port for SSL in Kconfig
* free the TCP only after closing the connection , not before
* set the config in the client before we access the schema in the client
* fix typo
* dispatch also Publish event
2018-03-09 22:04:33 +07:00
Tuan PM
c06c24a947
fixed default protocol is 3.11
2018-03-01 22:30:15 +07:00
Tuan PM
c9e55caa5b
Merge branch 'master' of https://github.com/tuanpmt/espmqtt
2018-02-27 23:02:40 +07:00
Tuan PM
a5ef145163
check transport before use & close the connection if it connects failed
2018-02-27 23:02:35 +07:00
JasonJiaJie
8c34c8df68
Keppalive issue
...
There is no keepalive packget if current time is very large. Caused by integer overflow.
2018-02-26 16:06:42 +08:00
Tuan PM
4fd75c1b4b
Add header license
2018-02-17 11:42:41 +07:00
Tuan PM
782e1f8042
Add support ws and wss
2018-02-17 01:03:35 +07:00