dbus protocol versioning



On Fri, Oct 25, 2013 at 05:30:49PM +0200, Ross Lagerwall wrote:
The only issue seems to be that it requires a minor change to the dbus
protocol which is "always painful" according to Tomas from the bug
report.


After thinking about this, I figured that the best solution would be to
version the private dbus protocol so that if two different
prefixes/environments are mixed with different GVFS dbus protocols, they
will not collide and the correct gvfs daemon will be autospawned.
The protocol version will start at 1 and only increase when a
backwards-incompatible change is made.

It is analagous to the Linux kernel having a system call interface that
doesn't change (equivalent to the GIO interface) and no internal API
guarantees but version magic such that one can't load a module built for
one kernel on another kernel if the API has changed.

This seems to provide a decent balance allowing easy improvements to the
gvfs internals while still allowing a mix of different versions of gvfs.

The only problem is that gvfs mounts will not be shared between the two
instances of gvfsd.  This is still much better than crashing or failing.

Comments?

Regards
-- 
Ross Lagerwall


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]