Wednesday, January 19, 2011

Lumina and the Future of luaevent

My long-term goal of producing the luaevent replacement, Lumina (part of the "ehrCom" parent project), has been put off for quite some time. Given my recent time constraints for projects, I estimate that my time available to work on this re-engineering project will make it take quite a while. Given the vastness of the project and the intention to document the design before implementation make it far from usable in the near-term.

In the mean-time, luaevent is currently a great way to get fast event-based socket programming in Lua right now. Matthew Wild of the Prosody team had constructed a fork of luaevent a while back with patches he applied to luaevent when I didn't have the time to review and apply them to the main tree. I recently reviewed and applied the changes to produce new 0.3.0 and 0.3.1 releases. The 0.3.0 was missing some of the latest updates, so a 0.3.1 bugfix release was made.

I intend to keep luaevent up-to-date with any provided patches and review them in a reasonable period. That way the need for the forked version can go away and the original tree can be used.

The next major enhancements that I foresee luaevent having are:

  • Enhanced build tool integration
    • Autotools for Linux
    • CMake for Linux and Windows
  • Review of implementation to see if it can be better managed using new techniques learned from other Lua projects
  • Mirrored API using libev

No comments: