"Francis Cianfrocca" <garbagecat10 / gmail.com> wrote on 30/10/2006 21:12:41: > I need an asynchronous client that I can add to EventMachine, so I need pure > Ruby or C/C++. If you want to discuss further, we should take it off-list to > avoid boring everyone else :-) I've looked at EventMachine, and was impressed with it. I'd be very happy if you were able to use some of my code with it. pnet-dns is available now, but is very ugly, being a direct port of a perl project (and a badly implemented perl project, at that). dnsruby will be available in the next few months, but will be a real DNS library, based on dnsjava. pnet-dns is pure Ruby, and dnsruby will be as well. I have had to make use of the Socket class for TCP (I need to control the source port), which I believe may be implementation-dependent. However, I know that it runs fine on Windows, Linux and Solaris. I'm going to model dnsruby on dnsjava, as dnsjava is the best and most mature OO API for DNS that I know. However, the non-blocking API will be much closer to the dnsjnio project. My dnsjnio project streams all requests over a single socket, and runs them all in a single thread. This allows me to do massive amounts of DNS requests concurrently. I will be implementing this approach for dnsruby. Unfortunately (well, fortunately for me!) I'm off for a three week honeymoon in a fortnight, returning just before Xmas. So I'm unlikely to get too much dnsruby implemented in the immediate future! Thanks for your interest. Alex.