[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] Failure to connect to IPV6 server
From: |
Zack Weinberg |
Subject: |
Re: [Monotone-devel] Failure to connect to IPV6 server |
Date: |
Wed, 19 May 2010 10:42:43 -0700 |
On Wed, May 19, 2010 at 3:01 AM, Stephen Leake
<address@hidden> wrote:
>> Well, it might not, tbh - it just exceeded my pain threshold :) The
>> problem I was having was, in asio a network socket, a local domain
>> socket, and an anonymous pipe are all different static types, but
>> monotone wants to treat them identically, so a big dynamically typed
>> wrapper was necessary and writing it was too much work.
>
> We now have a big dynamically typed wrapper in the netsync stuff, so
> this may not be so bad anymore.
Might be worth looking at asio again, then. I don't have free coding
cycles any time soon, though.
>> Also it may have reimplemented the DNS client rather than calling
>> getaddrinfo, which is not sysadmin-friendly.
>
> That is certainly odd.
I've seen a lot of async network libraries do this - it's because
getaddrinfo is synchronous, so if you want to integrate it into a
reactor-type async main loop, you have to muck about with threads,
which is no fun. Of course, writing your own DNS client is also no
fun, but I guess it's less bad from the perspective of the network
library author?
Linux has getaddrinfo_a, but that's not universal and suffers from
this bizarre notion that signals are a sensible IPC mechanism.
zw