From: Tony Arcieri Date: 2007-12-26T13:46:58+09:00 Subject: Announcing Rev: a high performance event library for Ruby 1.9 ------=_Part_6882_25131501.1198644422169 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline 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. tony@clickcaster.com ------=_Part_6882_25131501.1198644422169--