qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 13/16] docs/devel/qapi-code-gen: Rewrite comp


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH v2 13/16] docs/devel/qapi-code-gen: Rewrite compatibility considerations
Date: Tue, 17 Sep 2019 11:11:48 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0

On 9/13/19 10:05 AM, Markus Armbruster wrote:

>>> +Any change to a command definition's 'data' or one of the types used
>>> +there (recursively) needs to consider send direction compatibility.
>>> +
>>> +Any change to a command definition's 'return', an event definition's
>>> +'data', or one of the types used there (recursively) needs to consider
>>> +receive direction compatibility.
>>> +
>>> +Any change to types used in both contexts need to consider both.
>>> +
>>> +Members of enumeration types, complex types and alternate types may be
>>> +reordered freely.  For enumerations and alternate types, this doesn't
>>> +affect the wire encoding.  For complex types, this might make the
>>> +implementation emit JSON object members in a different order, which
>>> +the Client JSON Protocol permits.
>>
>> Worth mentioning that type names themselves are NOT part of the
>> interface, and may be freely renamed?
> 
> Care to suggest a suitable sentence?

Although member names within a type cannot be changed without affecting
compatibility, changes to type names themselves do not affect the
protocol.  As such, complex types may be freely renamed or refactored,
such as splitting members from one type into a common base type, as long
as the resulting set of members remain compatible.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]