[bind10-dev] Development high-level documentation

JINMEI Tatuya / 神明達哉 jinmei at isc.org
Thu Sep 23 09:11:37 UTC 2010


At Wed, 22 Sep 2010 10:49:26 +0200,
Michal 'vorner' Vaner <vorner at ucw.cz> wrote:

> > > Does what the name says. It just sits there and makes sure everyone
> > > is alive and working happily. So it starts all the processes, restarts
> > > them if needed and shuts them down at the end.
> > 
> > > ==== Socket creator ====
> > ...
> > > talking only to it. Boss, in turn, would talk and send the descriptors
> > > over the message buss to all who need them.
> > 
> > This is not correct; we cannot send the descriptors over the message
> > bus (btw "buss" should be "bus" here).  We'll use a separate special
> > channel (a unix domain socket for non Windows systems).
> 
> We can't? The message bus is over an unix socket, so it should be able to carry
> it.

Right, but the implementation detail (i.e. that it uses a unix domain
socket) is hidden from the applications.  Apps are supposed to use the
higher level CC API, and (IMO) should not be directly explore the
underlying low-level interfaces.  In fact, we used TCP connections in
some older versions, and we may make the same kind of decision
change.  Apps should be less (or ideally not) susceptible to this
level of implementation change.

Also, the "bus" is actually a set of two unix domain channels: one
between app A and msgq, and one between msgq and app B.  So we'd have
to pass the description from app A to msgq first, and then from msgq
to app B.  IMO this is unnecessary complexity.

> it. So each time any component needs a socket, it needs to create a separate
> channel directly to the boss?

I thought so.  Of course, it will be done via some higher level
abstract API, though.

---
JINMEI, Tatuya
Internet Systems Consortium, Inc.



More information about the bind10-dev mailing list