* mqtt: remove concept of connection timeout
Just rely on the network stack to tell us when things have gone south.
* mqtt: remove write-only mqtt_state.port field
* mqtt: drop useless conditional
* mqtt: decouple message sent flag from timer
* mqtt: reconnect callback does not need to hang up
The network stack has certainly done that for us at this point.
Similarly, since we're about to call mqtt_socket_disconnected, don't
bother unregistering the timer here, either.
* mqtt: don't tick once per second
Set the timer for the duration of the wait and cancel it on the other side.
* mqtt: defer message queue destruction to _disconnect
We're going to want to publish a disconnect message for real, so doing
this in _close does no one any favors
* mqtt: miscellaneous cleanups
No functional change intended
* mqtt: close() should send disconnect message for real
This means waiting for _sent() to fire again before telling the network
stack to disconnect.
* mqtt: tidy connect and dns
- Push the self-ref to after all allocations and error returns
- Don't try to extract IPv4 from the domain string ourselves, let the
resolver, since it can
- Don't try to connect to localhost. That can't possibly work.
* mqtt: common up some callback invocations
* mqtt: don't retransmit messages on timeout
There's no point in retransmitting messages on timeout; the network
stack will be trying to do it for us anyway.
* mqtt: remove unnecessary NULL udata checks
* mqtt: hold strings in Lua, not C
Eliminates a host of C-side allocations.
While here, move the rest of the mqtt_connect_info structure out to its
own thing, and pack some flags using a bitfield.
* mqtt: mqtt_socket_on use lua_checkoption
* mqtt: slightly augment debug messages
These changes have made some debugging ever so slightly easier.
These have been handy within the test harness for streaming files and
LFS images across to the DUTs.
Add nrec method to pipe
Co-authored-by: Gregor Hartmann <HHHartmann@users.noreply.github.com>
* Create mispec_file.lua
* Initial commit of gambiarra
* Adapt gambiarra to NodeMCU
* adapt to NodeMCU spacing and add nok functionality
* Some refactoring to make it easier to add new functionality
* Add methode `fail` to check failing code and pass error messages to output
- fail can be called with a function that should fail and a string which should be contained in the errormessage.
- Pass failed check reasons to output.
* Create gambiarra_file.lua
* Add reporting of tests that failed with Lua error
* ok, nok and fail will terminate the running test
* Add capability to run sync and async tests in mixed order and have a task.post inbetween them
* fix gambiarra self test to also run on device (not only host)
Use less ram in checking tests directly after they ran.
Use nateie task.post to tame watchdog.
* Update file tests + add async tmr tests
* Another fix in executing async test
* Catch errors in callbacks using node.setonerror
* change interface to return an object with several test methods
* Update README.md
* Change interface of Gambiarra + add reason for failed eq
* Update gambiarra documentation
* Add coroutine testcases to gambiarra
* Delete mispec_file.lua as it is superseeded by gambiarra_file.lua
* improve regexp for stack frame extraction
* Use Lua 53 debug capabilities
* move actual tests upfront
* remove debug code + optimization
* Show errors immediately instead of at the end of the test, freeing memory earlier
* Split tests to be run in 2 tranches
* rename to NTest and move to new location
* Add tests to checking mechanisms
* Add luacheck to tests
* Some pushing around of files
* more (last) fixes and file juggling
* Minor tweaks and forgotten checkin
* Add NTest selftest to travis
* Trying how to master travis
* another try
* restrict NTest selftest to linux
unread contained two subtle bugs:
- it created a buffer chunk at pipe[1], when that position is reserved
for the pipe reader function. Because it shifted pipe[i] to
pipe[i+1], including pipe[1], this was likely to manifest as the pipe
later attempting to dequeue a function rather than a buffer chunk
user datum. Solve this by adjusting the loop bounds and creation
index.
- when it created a new buffer chunk, it left that chunk's ->start and
->end fields at 0, but would then exit the loop to do the tail fill,
which was in turn assuming the exit condition of the loop when an
existing chunk had room, namely that data had been moved to the right
and so ->start > l. Solve this by making new chunks empty but with
->start = ->end = LUAL_BUFFERSIZE. It may be slightly better to
instead try to leave room at both ends if the buffer was empty prior
to this unread.
FIXES: https://github.com/nodemcu/nodemcu-firmware/issues/3155
* It appears that the rf_pre_init is not called any more. Also cleaned up the code in
wifi_common.
* Log a message (at the right baud rate) if the hostname is invalid
* Updated the comment in the user_config.h file
* Don't adjust the clock until after we deal with rtctime...
* Switched to using START_OPTION_CPU_FREQ_MAX instead.
* Use setfield and add caching of the startup option
* Put the startupcounts warning into a warning box