------art_56671_20768841.1147178062089
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

All:
On another thread ("Considering Ruby for a Network Application), Giles
Bowkett made reference to the "Twisted" application framework available to
Python programmers, and that got me thinking. How many of you are familiar
with Twisted or have used it to develop an application? I'd like to know if
there is any interest among Rubyists in having such a well-elaborated
event-handling framework for Ruby.

I recently released a single-threaded reactor-based library called
"EventMachine," which could form the basis for a more complete framework.
This codebase is the result of a lot of experience with high-performance
network servers, and it supports TCP, UDP, SSL/TLS and timer events now. To
bring it up to the next level, we'd need to add support for other kinds of
events, like keyboard, disk i/o, IPC, and programmatically-generated
pseudo-events. We'd probably also want a thread-pool manager. It might also
be fun to layer Drb on top of EventMachine.

For protocol support, Twisted uses a plugin model. EventMachine uses a more
Ruby-esque mixin model, and we have already used it to build an HTTP/S
server ("monorail," released on Rubyforge), an LDAP server ("Peregrine," not
yet publicly released), a SIP proxy and an SMTP server (not released
publicly yet). Other things like RADIUS, SOAP/REST, instant messaging are
also possible.

Comments? Complaints? Wish-lists? Anyone wanna help?

------art_56671_20768841.1147178062089--