[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: [ANN] Sierra's coroutine-based, embeddable, portable scheduler
- From: Gaspard Bucher <gaspard@...>
- Date: Sat, 21 Jan 2012 16:32:57 +0100
Hi Fabien !
Thanks for sharing.
I have since finished writing my own coroutine based scheduler based on the discussions we had at the workshop. Since the scheduler is now functional and allows transparently changing from my own poll based loop to Qt's event loop (a feature yours will probably never need), I will stick with my version even if it is probably less robust and advanced as yours.
Anyway, thanks a lot for the interesting talks last autumn.
On Sat, Jan 21, 2012 at 1:05 PM, Fabien <firstname.lastname@example.org>
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.