nanog mailing list archives

Re: dns and software, was Re: Reliable Cloud host ?


From: Mark Andrews <marka () isc org>
Date: Fri, 02 Mar 2012 09:29:54 +1100


In message <CAP-guGXLpzai4LrxyJcNn06yQ1jAEu4QeRpVzGRah=+OGLy9Zw () mail gmail com>
, William Herrin writes:
On Thu, Mar 1, 2012 at 4:07 PM, Owen DeLong <owen () 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 () isc org


Current thread: