nodemcu-firmware/app
Johan Ström 2d958750b5 Handle large/chunked/fragmented MQTT messages properly (#2571)
* MQTT: handle large/chunked/fragmented messages properly

If a message spans multiple TCP packets it must be buffered before
delivered to LUA. Prior code did not do this at all, so this "patch"
really adds proper handling of fragmented MQTT packets.
This could also occur if multiple small messages was sent in a
single TCP packet, and the last message did not completely fit in that
packet.

Introduces a new option to the mqtt.Client constructor:
max_publish_length which defaults to 1024

Introduces a new 'overflow' callback.

Fixes issue #2308 and proper fix for PR #2544.

* mqtt.md: clarified heap allocation

* mqtt: ensure ack is sent for overflowed publish

If QoS is used we should still acknowledge that we received it, or server might retransmit it later.
2018-11-30 22:12:46 +01:00
..
coap LFS patch updates following review II and testing 2018-06-22 22:29:16 +01:00
crypto Fixed alignment assumptions in SHA2 update. (#2034) 2017-07-31 14:12:34 +02:00
dht Alpha working wersion for third party evaluation 2018-03-17 00:43:52 +00:00
driver Merge branch 'dev' into dev-LFS 2018-04-19 16:43:55 +01:00
esp-gdbstub LFS patch updates following review II and testing 2018-06-22 22:29:16 +01:00
fatfs remove inline declarations 2018-01-20 19:42:55 +01:00
http Better fix for HTTP header decode (#2491) 2018-09-21 11:57:52 +02:00
include re-rename ENABLE_TIMER_SUSPEND to TIMER_SUSPEND_ENABLE in user_config.h (#2520) 2018-10-28 23:07:59 +01:00
libc LFS patch updates following review II and testing 2018-06-22 22:29:16 +01:00
lua Fix build problem with luac.cross when DEVELOPMENT_USE_GDB is used (#2569) 2018-11-23 18:02:07 +00:00
lwip Espressif SDK v2.2.1 (#2401) 2018-07-20 23:07:16 +02:00
mbedtls Update to sdk 2.2 2018-03-13 19:28:11 -04:00
modules Handle large/chunked/fragmented MQTT messages properly (#2571) 2018-11-30 22:12:46 +01:00
mqtt Handle large/chunked/fragmented MQTT messages properly (#2571) 2018-11-30 22:12:46 +01:00
net Refactor timer suspend portion of node.sleep (pmsleep) (#2287) 2018-04-13 21:41:14 +02:00
pcm Alpha working wersion for third party evaluation 2018-03-17 00:43:52 +00:00
platform establish delay as event to trigger flushing of spi buffer (#2517) 2018-11-13 13:18:03 +01:00
pm Changed out of memory response from system halt to system restart 2018-04-22 22:18:36 -07:00
sjson Cleaned up sjson module build. 2017-07-03 13:35:45 +10:00
smart Refactor timer suspend portion of node.sleep (pmsleep) (#2287) 2018-04-13 21:41:14 +02:00
spiffs New version of spiffs (#2172) 2017-12-03 13:14:22 +01:00
sqlite3 Merge pull request #2269 from nwf/for-upstream-sdk22 2018-03-20 21:02:20 +01:00
task Add New Tasking I/F and rework GPIO, UART, etc to support it 2016-02-17 17:13:17 +00:00
tsl2561 Merge branch 'dev' into dev-LFS 2018-04-19 16:43:55 +01:00
u8g2lib u8g2: include "large" fonts (#2531) 2018-10-24 22:48:50 +02:00
ucglib Submodulify ucg and update to v1.5.2 (#2503) 2018-10-19 21:18:50 +01:00
user Add compression to LFS images (#2448) 2018-09-29 16:57:51 +03:00
uzlib Optimise ROTable accesses and interface (#2505) 2018-10-13 17:14:33 +03:00
websocket Refactor timer suspend portion of node.sleep (pmsleep) (#2287) 2018-04-13 21:41:14 +02:00
.gitignore seperate user_config.h to speed-up compile when modules disabled/enabled 2015-03-06 11:59:04 +08:00
Makefile Always compile `app/crypto` folder (#2573) 2018-11-28 14:03:33 +01:00