Shell communication channel: simple, half-assed or fully-arsed?

Christopher James Halse Rogers raof at
Thu Dec 12 04:46:29 UTC 2013

On Thu, 2013-12-12 at 10:01 +0800, Daniel van Vugt wrote:
> "Half-assed" is inaccurate I think. Under that heading you describe 
> what we had already agreed to do (as much as the team can agree on 
> something).

*I* thought I was agreeing with the Simple/Simplistic method :). When
Alan brought up his stub implementation of Half-arsed it provoked a
further round of discussion, leading to here!

> I suggest being careful trying to merge the existing areas of opacity in 
> the protocol. I'm not sure they belong together.
> Protobuf is quite extendable already. Are we not using it in a way 
> that's compatible with extension? I'm not a fan of protobuf, and am even 
> open to the idea of trying the Wayland protocol, but I don't yet see a 
> serious problem with protobuf that needs solving.

I think we are, and have been, conflating a number of separate issues

One is “what link-level IPC mechanism should we use? Sockets, shm, etc”.
We're currently using sockets+asio.

One is “what message serialisation mechanism should we use? Protobuf,
Cap'n'Proto, Wayland, etc”. We're currently using Protobuf.

A third is “what IPC interface definition language should we use?
Protobuf, Wayland, home-grown, etc”. We're currently not using *any*
IDL. For the bits where we are using an IDL we're using Protobuf's
descriptors, but we also have knowledge baked into the code - fd passing
because Protobuf just doesn't support that, and MirEvent, because of
reasons that I'm not aware of.

I don't mind if we continue to use Protobuf for our serialisation, but
an extension mechanism needs an actual IDL. Which could be as simple as
extending Protobuf; I don't mind.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <>

More information about the Mir-devel mailing list