Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > [ANN] cool.io 0.9.0: a cool event framework for Ruby (formerly knownas Rev) based on libev

Reply
Thread Tools

[ANN] cool.io 0.9.0: a cool event framework for Ruby (formerly knownas Rev) based on libev

 
 
Tony Arcieri
Guest
Posts: n/a
 
      11-16-2010
[Note: parts of this message were removed to make it a legal post.]

Github: https://github.com/tarcieri/cool.io
<https://github.com/tarcieri/cool.io>Rubygems:
https://rubygems.org/gems/cool.io

Cool.io (formerly known as Rev, and pronounced like Coolio of Gangster's
Paradise fame) is an event framework for Ruby built on libev, the same
library that provides high performance asynchronous I/O for Node.js. Cool.io
is great for building TCP clients and servers which handle large numbers of
connections and are primarily I/O bound. Cool.io also provides APIs for
filesystem monitoring. Cool.io is an alternative to EventMachine, albeit one
which using Ruby's own native I/O primitives rather than reinventing them,
and does as much as possible in Ruby instead of C, which should make it
easier for interested contributors to hack on.

Cool.io supports the following Ruby implementations:
- Ruby 1.8.6+
- Ruby 1.9.0+
- Rubinius HEAD

Cool.io includes backwards compatibility for Rev, so applications built
using Rev can depend on the cool.io gem but still "require 'rev'" and use
the Rev toplevel constant instead of Cool.io's cool new Cool.io "constant".
Backwards compatibility with Rev will be removed in a future release.

Support for building asynchronous HTTP servers with Cool.io is provided
through the Rainbows! asynchronous HTTP web server (based on Unicorn):
http://rainbows.rubyforge.org/

Changes (from Rev 0.3.2):
- Rename the project to cool.io
- Bump the version all the way to 0.9! Hell yeah! 1.0 soon!
- Rename the toplevel module from Rev to Coolio (with a cool Cool.io style)
- Backwards compatibility with Rev with deprecation warnings
- Use Jeweler to manage the gem
- Update to RSpec 2.0
- Update to libev 4.01
- Initial Rubinius support

--
Tony Arcieri
Medioh! A Kudelski Brand

 
Reply With Quote
 
 
 
 
Sean O'Halpin
Guest
Posts: n/a
 
      11-16-2010
Great news! I was concerned you'd moved on from Rev - very glad to see
this excellent library getting a new boost of life.

Thanks,
Sean

 
Reply With Quote
 
 
 
 
Eric Wong
Guest
Posts: n/a
 
      11-19-2010
Tony Arcieri <> wrote:
> Changes (from Rev 0.3.2):
> - Rename the project to cool.io


What was the reasoning for this? I actually liked the Rev name

--
Eric Wong

 
Reply With Quote
 
Tony Arcieri
Guest
Posts: n/a
 
      11-19-2010
[Note: parts of this message were removed to make it a legal post.]

On Fri, Nov 19, 2010 at 1:35 PM, Eric Wong <> wrote:

> What was the reasoning for this? I actually liked the Rev name
>


Cool.io is ever so slightly less ungooglable

--
Tony Arcieri
Medioh! A Kudelski Brand

 
Reply With Quote
 
Tony Arcieri
Guest
Posts: n/a
 
      11-19-2010
[Note: parts of this message were removed to make it a legal post.]

On Fri, Nov 19, 2010 at 1:38 PM, Tony Arcieri <>wrote:

> Cool.io is ever so slightly less ungooglable
>


By the way Eric, while Cool.io has backwards compat for Rev, it'd be nice if
you could update Rainbows! to have "use :Coolio"

--
Tony Arcieri
Medioh! A Kudelski Brand

 
Reply With Quote
 
Bryan Richardson
Guest
Posts: n/a
 
      11-19-2010
Cool beans... I've been wanting to try out Cool.io (well, Rev
actually) ever since I started using Twisted and EventMachine. Also, I
like your trickery for the Cool.io constant.

Quick question... any chance Cool.io works in JRuby?

On Tue, Nov 16, 2010 at 12:20 PM, Tony Arcieri <> wrote:
> Github: https://github.com/tarcieri/cool.io
> <https://github.com/tarcieri/cool.io>Rubygems:
> https://rubygems.org/gems/cool.io
>
> Cool.io (formerly known as Rev, and pronounced like Coolio of Gangster's
> Paradise fame) is an event framework for Ruby built on libev, the same
> library that provides high performance asynchronous I/O for Node.js. Cool.io
> is great for building TCP clients and servers which handle large numbers of
> connections and are primarily I/O bound. Cool.io also provides APIs for
> filesystem monitoring. Cool.io is an alternative to EventMachine, albeit one
> which using Ruby's own native I/O primitives rather than reinventing them,
> and does as much as possible in Ruby instead of C, which should make it
> easier for interested contributors to hack on.
>
> Cool.io supports the following Ruby implementations:
> - Ruby 1.8.6+
> - Ruby 1.9.0+
> - Rubinius HEAD
>
> Cool.io includes backwards compatibility for Rev, so applications built
> using Rev can depend on the cool.io gem but still "require 'rev'" and use
> the Rev toplevel constant instead of Cool.io's cool new Cool.io "constant".
> Backwards compatibility with Rev will be removed in a future release.
>
> Support for building asynchronous HTTP servers with Cool.io is provided
> through the Rainbows! asynchronous HTTP web server (based on Unicorn):
> http://rainbows.rubyforge.org/
>
> Changes (from Rev 0.3.2):
> - Rename the project to cool.io
> - Bump the version all the way to 0.9! Hell yeah! 1.0 soon!
> - Rename the toplevel module from Rev to Coolio (with a cool Cool.io style)
> - Backwards compatibility with Rev with deprecation warnings
> - Use Jeweler to manage the gem
> - Update to RSpec 2.0
> - Update to libev 4.01
> - Initial Rubinius support
>
> --
> Tony Arcieri
> Medioh! A Kudelski Brand
>


 
Reply With Quote
 
Eric Wong
Guest
Posts: n/a
 
      11-19-2010
Tony Arcieri <> wrote:
> On Fri, Nov 19, 2010 at 1:38 PM, Tony Arcieri <>wrote:
> > Cool.io is ever so slightly less ungooglable


Heh.

> By the way Eric, while Cool.io has backwards compat for Rev, it'd be nice if
> you could update Rainbows! to have "use :Coolio"


Yes, it'll probably happen next week, there are a few other Rainbows!
things I've been slacking on.

--
Eric Wong

 
Reply With Quote
 
Tony Arcieri
Guest
Posts: n/a
 
      11-19-2010
[Note: parts of this message were removed to make it a legal post.]

On Fri, Nov 19, 2010 at 3:39 PM, Bryan Richardson <> wrote:

> Also, I like your trickery for the Cool.io constant.
>


Thanks... although actually using Cool.io instead of Coolio adds an extra
method call so if you care about speed you probably shouldn't use it (at
least in the event loop itself)


> Quick question... any chance Cool.io works in JRuby?



Unfortunately no which is a bit sad because I do a lot of stuff with
JRuby. I've thought about writing a JRuby backend for it.

--
Tony Arcieri
Medioh! A Kudelski Brand

 
Reply With Quote
 
Tony Arcieri
Guest
Posts: n/a
 
      11-19-2010
[Note: parts of this message were removed to make it a legal post.]

On Fri, Nov 19, 2010 at 3:42 PM, Eric Wong <> wrote:

> Yes, it'll probably happen next week, there are a few other Rainbows!
> things I've been slacking on.



Sweet. I wanted to present Rev/Revactor on Rainbows! at RubyConf but
couldn't find any examples to get me started (beyond use :Rev and use
:Revactor)

It'd be great if your Rainbows! documentation had a trivial example of
building an async HTTP request handler using Cool.io or Revactor.

--
Tony Arcieri
Medioh! A Kudelski Brand

 
Reply With Quote
 
Eric Wong
Guest
Posts: n/a
 
      11-20-2010
Tony Arcieri <> wrote:
> On Fri, Nov 19, 2010 at 3:42 PM, Eric Wong <> wrote:
> > Yes, it'll probably happen next week, there are a few other Rainbows!
> > things I've been slacking on.

>
> Sweet. I wanted to present Rev/Revactor on Rainbows! at RubyConf but
> couldn't find any examples to get me started (beyond use :Rev and use
> :Revactor)
>
> It'd be great if your Rainbows! documentation had a trivial example of
> building an async HTTP request handler using Cool.io or Revactor.


Heh, I don't actually have much a clue what interests people when it
comes to async apps, I barely use the web myself.

I would imagine it's like writing any regular application with
Rev/Revactor, you could make async HTTP requests to other backends and
maybe some databases with adapters for them...

They're both pretty good for serving things with only local
dependencies (apps running off TokyoCabinet/SQLite/GDBM, etc)
and can maintain many idle client connections with keepalive.
(crank keepalive_timeout up from the default 5s).

--
Eric Wong

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[ANN] cool.io 1.0.0: a cool event framework for Ruby (formerly knownas Rev) Tony Arcieri Ruby 0 12-14-2010 04:40 PM
Event based web framework with ruby, have any? Diego Bernardes Ruby 2 10-26-2009 04:10 AM
[ANN] rev 0.3.1: a libev-based event framework, now with betterfilesystem monitoring Tony Arcieri Ruby 0 10-15-2009 04:15 AM
ANN: Rev 0.2.4, a libev-based event framework, now with Ruby 1.8.7and 1.9.1 support Tony Arcieri Ruby 1 02-02-2009 03:38 PM
Cool Applet Cool Applet http://24.60.235.213/Grid/ Alisher Fatykhov Java 1 08-06-2003 04:32 AM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57