alexd
10/31/2006 9:26:00 AM
"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.