On Tue, 2010-04-13 at 10:10 +0100, Eoghan Glynn wrote:
A-ha, OK, I see.
So I guess we could just drop the minor from the version and leave it
as version 1, 2, 3 ... etc., otherwise the unchanging minor suggests a
degree of freedom that isn't there in reality.
Ah, I see what you mean - we should just do version=1
It looks a bit strange, but you're right - it's a lot more explicit
Just to be sure I understand though, is there an implicit assumption
that the new-client-calls-old-server case never arises? So we assume
the deployed client vintage always lags the server-side, never the
other way round.
Nope, it's just up to the client to handle the old-server case
e.g. if we introduced a 'fubar' field in the next version, the client
would do:
if vm.fubar != null:
do_something(vm.fubar)
rather than:
if vm.media_type.version >= 1.2:
do_something(vm.fubar)
It makes sense since clients will have to work this way in order to
handle the case where the user running the client doesn't have
privileges for some action or data
Cheers,
Mark.