On another thread ("Considering Ruby for a Network Application), Giles
Bowkett made reference to the “Twisted” application framework available
Python programmers, and that got me thinking. How many of you are
with Twisted or have used it to develop an application? I’d like to know
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
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.
bring it up to the next level, we’d need to add support for other kinds
events, like keyboard, disk i/o, IPC, and programmatically-generated
pseudo-events. We’d probably also want a thread-pool manager. It might
be fun to layer Drb on top of EventMachine.
For protocol support, Twisted uses a plugin model. EventMachine uses a
Ruby-esque mixin model, and we have already used it to build an HTTP/S
server (“monorail,” released on Rubyforge), an LDAP server (“Peregrine,”
yet publicly released), a SIP proxy and an SMTP server (not released
publicly yet). Other things like RADIUS, SOAP/REST, instant messaging
Comments? Complaints? Wish-lists? Anyone wanna help?