dns and software, was Re: Reliable Cloud host ?

Mark Andrews marka at isc.org
Thu Mar 1 22:29:54 UTC 2012


In message <CAP-guGXLpzai4LrxyJcNn06yQ1jAEu4QeRpVzGRah=+OGLy9Zw at mail.gmail.com>
, William Herrin writes:
> On Thu, Mar 1, 2012 at 4:07 PM, Owen DeLong <owen at delong.com> wrote:
> > I think that the modern set of getaddrinfo and connect is actually not th=
> at complicated:
> 
> Owen,
> 
> If took you 50 lines of code to do
> 'socket=connect("www.google.com",80,TCP);' and you still managed to
> produce a version which, due to the timeout on dead addresses, is
> worthless for any kind of interactive program like a web browser. And
> because that code isn't found in a system library, every single
> application programmer has to write it all over again.

And your 'socket=connect("www.google.com",80,TCP);' won't work for
a web browser either unless you are using threads and are willing
to have the thread stall.

The existing connect() semantics actually work well for browsers
but they need to be properly integrated into the system as a whole.
Nameservers have similar connect() issues as web browsers with one
advantage, most of the time we are connecting to a machine we have
just connected to via UDP.  That doesn't mean we don't do non-blocking
connect however.

> I'm a fan of Rube Goldberg machines but that was ridiculous.
> 
> Regards,
> Bill Herrin
-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: marka at isc.org




More information about the NANOG mailing list