[ANN] EM-Udns 0.2.3 - async DNS resolver for EventMachine based on udns C library

Hi, I announce EM-Udns (gem version 0.2.3):

EM-Udns is an async DNS resolver for EventMachine based on udns C
library. Having most of the code written in C, EM-Udns becomes very
fast. It can resolve DNS A, AAAA, PTR, MX, TXT, SRV and NAPTR records,
and can handle every kind of errors (domain/record not found, request
timeout, malformed response...).

The project in Github, including the README file:

  https://github.com/ibc/em-udns

Important changes in 0.2.X releases are:

···

----------------------------------------------------------

- No exception is raised when performing a query (which is not
friendly within EventMachine), even if an error occurs (such a
malformed domain name or internal error). Instead
EM::Deferrable#errback (in EM::Udns::Query object) is called with new
error arguments (a Ruby Symbol):

  - :dns_error_nxdomain - The domain name does not exist.
  - :dns_error_nodata - The domain exists, but has no data of requested type.
  - :dns_error_tempfail - Temporary error, the resolver nameserver was not
                                   able to process our query or timed out.
  - :dns_error_protocol - Protocol error, a nameserver returned malformed
                                   reply.
  - :dns_error_badquery - Bad query, name of dn is invalid.
  - :dns_error_nomem - No memory available to allocate query structure.
  - :dns_error_unknown - An unknown error has occurred.

--
Iñaki Baz Castillo
<ibc@aliax.net>