Go ahead!

Memoization for Everything

The status of Cool.io

| Comments

Cool.io was revived after I became a maintainer. This article describes the current stauts and future work of Cool.io.

Cool.io is a core of Fluentd so I am focusing Fluentd related features.

Windows support

Cool.io is the one of blocker for Fluentd Windows support. Since version 1.2, Cool.io works on Windows and I release mingw based cross-compiling gem for Windows environment.

You can now use Cool.io via gem install cool.io on Windows and we started to implement Windows support of Fluentd.

The limitation on Windows

Cool.io uses select on Windows, not IOCP. In this result, the performance isn’t better than other environments. This limitation is of little concern in Fluentd forward use-case.

JRuby support

Fluentd works on CRuby and Rubinius. If support JRuby, Fluentd will work on almost popular Ruby environemnts.

Since May 2014, @taichi started to implement JRuby support. @taichi has experience with Java and evented IO frameworks so he is a good person for this task ;)

Remove Ruby 1.8 support

Ruby 1.8 is dead language so Cool.io removes 1.8 support since version 1.2.

Remove HttpClient

AFAIK, there is no HttpClient users including Fluentd. This class depends on Ragel to parse HTTP. It increases the maintenance cost and hard to support on cross platform.

So HttpClient will not be maintained in the future.


Cool.io isn’t dead and Cool.io is still improved. We are now working on more better environment support and fixing the bugs.

If you have a bug of Cool.io, then please file it on github :)