6 notes &
Manos now using libev-sharp
I just pushed a Manos update that switches all the event handling over to using libev. libev is a powerful event loop and is used in projects like node.js. Previously Manos had its own event loop, calling directly into epoll itself. So this switch has a nice benefit of dropping some rather complex code from Manos. The main benefit of this switch is that libev is a cross platform library that runs on Linux, OS X and Windows. So this removes the main blocker for running Manos on the Mac and on Windows. As another side benefit we can be confident that Manos is built on the same foundations as other high performance servers.
To make this switch I created a managed wrapper around the libev library. Its source repo is here:
http://github.com/jacksonh/libev-sharp
and you can find openSUSE 11.3 packages here:
http://software.opensuse.org/search?q=libev-sharp&baseproject=openSUSE%3A11.3&lang=en&exclude_debug=true#
So that is the good news.
The bad news is that this introduces a dependency in Manos and if you want to build Manos you’ll need to install libev-sharp. Hopefully Ubuntu packages will be available soon.
I am hoping OSX can now run Manos out of the box. Windows will take a little more time as I have to remove the sendfile call. However, I think windows will still work as long as you don’t try to serve any static content. Right now Manos serves static content with the unix sendfile call which isn’t available on windows.