[ccache] globally unique hashes
mbp at sourcefrog.net
Mon Jun 21 22:39:42 MDT 2010
On 22 June 2010 11:42, Reuben Hawkins <reubenhwk at gmail.com> wrote:
> On 06/21/2010 06:06 PM, Martin Pool wrote:
>> On 22 June 2010 10:18, Reuben Hawkins <reubenhwk at gmail.com> wrote:
>>> Hi Martin,
>>> Yes, there would need to be a daemon to respond to multicasts. I think
>>> distcc requires setting all the hosts manually on each client (correct me if
>>> I'm wrong). Maybe what I need is distcc servers to respond to multicast so
>>> I can avoid maintaining the servers manually on the clients... I see you're
>>> one of the distcc developers. Would that be a welcome enhancement?
>> Using multicast would probably still require some configuration on the
>> clients about which multicast group to use, etc. Is there anything
>> wrong with using mdns?
> Maybe I'm misunderstanding exactly what you're suggesting. There's
> nothing wrong with using mdns, but my understanding is that even with
> mdns, the names must still be known by the client. For example...
> $ distcc-config --set-hosts "localhost c1.local c2.local c3.local ...
> What I'd like to be able to do is...
> $ distcc-config --multicast
> So when distcc starts a build, it will call out to the local network,
> "who's running distccd?" and the servers will reply such that my local
> machine can automatically update its list of hosts.
mdns has a mechanism to say "who offers this service?" Apple's distcc
version in Xcode does this. I don't know how well that works on
generic unix but it seems like a good place to start, and the distcc
list would be a good place to ask about it.
> RFC 3307 suggest that permanent IPv6 multicast addresses can be assigned
> (which I haven't really looked into yet, I was just going to pick one at
> random for now). I was not planning on using IPv4 at all.
> Is that reasonable or am I missing something?
I don't think it would be reasonable to have one IPv6 address that is
"the global ccache service for the whole world." If the address is
intended to be just network-wide or organization-wide, then really you
do have per-machine configuration, you're just choosing to hardcode it
into the program.
More information about the ccache