nodemcu-firmware/app/modules
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
..
eus EUS bug fixes (#1605) 2016-12-01 22:12:47 +01:00
.gitignore Adds support for verifying the certificate offered by an SSL server. 2016-03-09 21:51:23 -05:00
Makefile Submodulify ucg and update to v1.5.2 (#2503) 2018-10-19 21:18:50 +01:00
adc.c Align 8 MB & 16 MB flash sizes with SDK 2.1.0. (#1968) 2017-05-16 16:50:36 +02:00
ads1115.c introduced sign into read and startread (#2246) 2018-02-07 21:29:17 +01:00
adxl345.c remove deprecated init functions in adxl345, am2320, bme280, bmp085, hdc1080, hmc58831, l3g4200d, HDC1000, lm92 (#2276) 2018-03-12 07:56:07 +01:00
am2320.c remove deprecated init functions in adxl345, am2320, bme280, bmp085, hdc1080, hmc58831, l3g4200d, HDC1000, lm92 (#2276) 2018-03-12 07:56:07 +01:00
apa102.c Cleaned up APA102 module registration. 2016-01-26 17:14:19 -05:00
bit.c Reworked module registration, removed modules.h 2015-12-16 16:09:16 +11:00
bloom.c Addition of a Bloom Filter object (#2176) 2017-12-03 13:10:59 +01:00
bme280.c remove deprecated init functions in adxl345, am2320, bme280, bmp085, hdc1080, hmc58831, l3g4200d, HDC1000, lm92 (#2276) 2018-03-12 07:56:07 +01:00
bme680.c Add BME680 module (#2151) 2017-11-19 20:49:07 +01:00
bme680_defs.h Add BME680 module (#2151) 2017-11-19 20:49:07 +01:00
bmp085.c remove deprecated init functions in adxl345, am2320, bme280, bmp085, hdc1080, hmc58831, l3g4200d, HDC1000, lm92 (#2276) 2018-03-12 07:56:07 +01:00
coap.c Update modules to be Lua coroutine compatible (#1423) 2016-08-02 22:33:05 +02:00
color_utils.c ws2812 effects library (#2215) 2018-01-23 21:05:04 +01:00
color_utils.h ws2812 effects library (#2215) 2018-01-23 21:05:04 +01:00
cron.c Cron fixes, part 2 (+) (#2515) 2018-10-10 17:36:00 +01:00
crypto.c Fix crypto.mask() to encode with correct mask (#1677) (#1678) 2016-12-23 12:03:02 -05:00
dht.c Reworked module registration, removed modules.h 2015-12-16 16:09:16 +11:00
ds18b20.c Merge pull request #2322 from peturdainn/peturdainn-patch-1 2018-04-27 11:35:07 +01:00
encoder.c Update encoder files after #925 & #1072 review comments 2016-02-26 00:44:33 +00:00
enduser_setup.c Refactor timer suspend portion of node.sleep (pmsleep) (#2287) 2018-04-13 21:41:14 +02:00
file.c Calling vol:umount() would fail (#2558) 2018-11-16 21:37:18 +01:00
gdbstub.c Tweaks to the Remote GDB interface to make it usable 2018-03-17 00:43:52 +00:00
gpio.c add missing NULLification of serout.delay_table after luaM_freearray() (#2220) 2018-01-10 21:25:35 +01:00
gpio_pulse.c Fix a number of issues with the gpio.pulse family of functions (#2260) 2018-02-23 23:12:23 +01:00
hdc1080.c remove deprecated init functions in adxl345, am2320, bme280, bmp085, hdc1080, hmc58831, l3g4200d, HDC1000, lm92 (#2276) 2018-03-12 07:56:07 +01:00
hmc5883l.c remove deprecated init functions in adxl345, am2320, bme280, bmp085, hdc1080, hmc58831, l3g4200d, HDC1000, lm92 (#2276) 2018-03-12 07:56:07 +01:00
http.c HTTP module can now chain requests (#1629) 2016-12-01 22:13:33 +01:00
hx711.c Reworked module registration, removed modules.h 2015-12-16 16:09:16 +11:00
i2c.c Reworked module registration, removed modules.h 2015-12-16 16:09:16 +11:00
l3g4200d.c remove deprecated init functions in adxl345, am2320, bme280, bmp085, hdc1080, hmc58831, l3g4200d, HDC1000, lm92 (#2276) 2018-03-12 07:56:07 +01:00
mcp4725.c Add mcp4725 module (#1966) 2017-05-21 16:30:26 +02:00
mdns.c Take 2: Add regular sends to mdns. Check for (some) buffer overflows. Make it handle unicast 2016-04-03 14:10:52 -04:00
mqtt.c Handle large/chunked/fragmented MQTT messages properly (#2571) 2018-11-30 22:12:46 +01:00
net.c Fix data loss in TCP streams. (#2097) 2017-09-28 22:41:22 +02:00
node.c merge current dev to resolve update conflcts in node.c 2018-06-22 22:44:19 +01:00
ow.c Reduced LUAL_BUFFERSIZE to 256. Should free up some stack (#1530) 2016-10-16 21:18:03 +09:00
pcm.c initialize task ids only once at module open 2018-01-14 21:21:32 +01:00
perf.c Various minor bits of cleanup (#1647) 2016-12-25 10:45:34 +11:00
pwm.c Omit all the PWM code if the PWM module is not included 2016-03-01 21:55:21 -05:00
rc.c Enable -std=gnu11 for modules dir. 2016-01-20 19:40:47 +11:00
rfswitch.c Invert signal on rfswitch pin (#1738) 2017-01-19 12:46:45 +01:00
rotary.c Refactor timer suspend portion of node.sleep (pmsleep) (#2287) 2018-04-13 21:41:14 +02:00
rtcfifo.c Reworked module registration, removed modules.h 2015-12-16 16:09:16 +11:00
rtcmem.c Reworked module registration, removed modules.h 2015-12-16 16:09:16 +11:00
rtctime.c Fix a number of issues with the gpio.pulse family of functions (#2260) 2018-02-23 23:12:23 +01:00
si7021.c add si7021 module (#1921) 2017-04-27 23:16:33 +02:00
sigma_delta.c Add sigma_delta module. 2016-02-18 21:35:58 +01:00
sjson.c Handle doublequotes in strings. (#2104) 2017-09-15 22:25:13 +02:00
sntp.c Refactor timer suspend portion of node.sleep (pmsleep) (#2287) 2018-04-13 21:41:14 +02:00
somfy.c Somfy/TELIS driver (#1521) 2016-10-14 07:49:58 +09:00
spi.c Add string support for spi.set_mosi() and spi.get_miso() (#1753) 2017-02-06 13:55:26 +01:00
sqlite3.c Add sqlite3 module (#2008) 2018-01-10 22:45:56 +01:00
struct.c Make struct.unpack wrapped in setlist actually work (#1486) 2016-09-05 11:16:27 +10:00
switec.c Add support for driving instrument gauge stepper motors (#1355) 2016-06-26 14:19:06 +02:00
tcs34725.c Add module for TCS34725 colour sensor. (#1895) 2017-04-19 20:16:27 +02:00
tls.c Update to sdk 2.2 2018-03-13 19:28:11 -04:00
tm1829.c Added support for tm1829 baed led controllers (#1330) 2016-06-03 23:47:36 +02:00
tmr.c re-rename ENABLE_TIMER_SUSPEND to TIMER_SUSPEND_ENABLE in user_config.h (#2520) 2018-10-28 23:07:59 +01:00
tsl2561.c Reworked module registration, removed modules.h 2015-12-16 16:09:16 +11:00
u8g2.c unbreak firmware build without u8g2 submodule 2018-07-29 12:43:42 +02:00
uart.c Turn of x bit on some non-executable source files 2018-03-17 00:43:51 +00:00
ucg.c Submodulify ucg and update to v1.5.2 (#2503) 2018-10-19 21:18:50 +01:00
websocket.c support for custom websocket headers (#1573) 2016-11-19 10:35:20 -05:00
wifi.c Set safe defaults for scan config (#2378) 2018-05-22 14:55:14 +02:00
wifi_common.c Modified wifi module 2016-03-31 19:01:41 -07:00
wifi_common.h Dev wifi/wifi_eventmon malloc/free update (#2318) 2018-05-20 09:46:04 +02:00
wifi_eventmon.c Dev wifi/wifi_eventmon malloc/free update (#2318) 2018-05-20 09:46:04 +02:00
wifi_monitor.c Optimise ROTable accesses and interface (#2505) 2018-10-13 17:14:33 +03:00
wps.c Add WPS module (#1694) 2017-01-09 08:43:47 +01:00
ws2801.c Enable -std=gnu11 for modules dir. 2016-01-20 19:40:47 +11:00
ws2812.c ws2812 effects library (#2215) 2018-01-23 21:05:04 +01:00
ws2812.h ws2812 effects library (#2215) 2018-01-23 21:05:04 +01:00
ws2812_effects.c Refactor timer suspend portion of node.sleep (pmsleep) (#2287) 2018-04-13 21:41:14 +02:00
xpt2046.c Add driver for XPT2046 touch controller (#1848) 2017-03-09 07:20:01 +01:00