Hello everyone, I've just made my initial public release of Rev, a high performance event library for Ruby 1.9 built on top of libev. Events are monitored with advanced system calls including epoll on Linux, kqueues on BSD, and event ports on Solaris. You can read more about libev here: http://software.schmorp.de/pkg/libev.html
The release has not yet reached the gem mirrors, so you can grab it here for the time being: http://rev.rubyforge.org/releases/gems/rev-0.1.0.gem Rev gives you the ability to monitor Ruby IO objects for readability and/or writability. It also lets you configure either one-shot or periodic timers. Future plans include wrappers for monitoring signals as well as filesystem events. Rev makes use of a number of new Ruby 1.9 features, namely the ability to do blocking calls inside of native threads using the rb_thread_blocking_region() function. The entire event loop is written with scalability in mind, with nearly constant time overhead compared to the number of events being monitored, at least on Linux, FreeBSD, or Solaris. In addition to a C extension which provides Ruby bindings to libev, Rev also provides asynchronous observer-like wrappers for Ruby's core socket classes using the new Ruby 1.9 *_nonblock methods. It also provides asynchronous DNS resolution for the purpose of making outgoing connections. You can view the RDoc here: http://rev.rubyforge.org/ Enjoy! -- Tony Arcieri ClickCaster, Inc. [EMAIL PROTECTED]
_______________________________________________ libev mailing list [email protected] http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev
