Commit Graph

9 Commits

Author SHA1 Message Date
Terry Ellison ce2e50c651 Updates following JM review 2020-06-09 22:26:06 +02:00
Terry Ellison 50b69d8487 Add telnet example 2020-06-09 22:26:06 +02:00
Nathaniel Wesley Filardo 1070466feb Revise fifo{,sock} (#2671)
Fixes to #2650:

- Convert fifosock to returning tables containing ctors
- Improve docs
- Add a missed :on("sent", nil) in the http server
2019-02-17 18:32:16 +00:00
sergio d77666c0e8 trailing spaces cleanup (#2659) 2019-02-17 18:26:29 +00:00
Nathaniel Wesley Filardo dcc1ea2a49 A generic fifo and fifosock wrapper, under telnet and http server (#2650)
* lua_modules/fifo: a generic queue & socket wrapper

One occasionally wants a generic fifo, so here's a plausible
implementation that's reasonably flexible in its usage.

One possible consumer of this is a variant of TerryE's two-level fifo
trick currently in the telnetd example.  Factor that out to fifosock for
more general use.

* lua_examples/telnet: use factored out fifosock

* lua_modules/http: improve implementation

Switch to fifosock for in-order sending and waiting for everything to be
sent before closing.

Fix header callback by moving the invocation of the handler higher

* fifosock: optimistically cork and delay tx

If we just pushed a little bit of data into a fifosock that had idled,
wait a tick (1 ms) before transmitting.  Hopefully, this means that
we let the rest of the system push more data in before we send the first
packet.  But in a high-throughput situation, where we are streaming data
without idling the fifo, there won't be any additional delay and we'll
coalesce during operation as usual.

The fifosocktest mocks up enough of tmr for this to run, but assumes
an arbitrarily slow processor. ;)
2019-02-16 13:51:40 +01:00
Lukáš Voborský 27e9e6c085 Fix to telnet Lua example and ftpserver Lua module in consequence of PR #2603 (#2654) 2019-02-13 06:49:45 +01:00
Nathaniel Wesley Filardo 161c855580 lua_examples/telnet: small tweaks (#2455)
* Remove the old telnet.lua, which has been duplicated as
  simple_telnet.lua.

* Fix some typos and whitespace issues
2018-08-27 12:46:39 +01:00
Jedrzej Jajor 46236dd091 Fixed missing wifi module name. 2018-07-08 16:13:11 +02:00
TerryE c6ba33b749 New Telnet module 2018-07-01 23:42:45 +01:00