[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: [ANN] Sierra's coroutine-based, embeddable, portable scheduler
- From: Fabien <fleutot+lua@...>
- Date: Sat, 21 Jan 2012 13:05:33 +0100
During the last Lua Workshop, we presented what we do at Sierra Wireless: we provide a Lua framework to develop machine-to-machine communication systems on embeded devices.
The slides are available on the workshop's website.
One piece of this framework attracted particular interest: a collaborative scheduler, which allows easy coroutine-based multitasking (you might have seen references to it e.g. in http://lua-users.org/lists/lua-l/2011-09/msg00240.html, http://lua-users.org/lists/lua-l/2012-01/msg00293.html). We've promised to open-source its Linux port, and so do we: a preview has been committed to Github, under MIT public license.
The scheduler is fully integrated with (an internally modified version of) LuaSocket. It handles timers, IPC, etc. It also comes with a couple of goodies, including an interactive Lua shell over telnet with auto-completion.
The version released is based on POSIX's select(), but it can and has been ported to callback-based network backends: this allows both node.js-style non-blocking I/O in the back-end, and sane, readable code in the front-end.
For more details, check the readme on github.