From: Eric Blake <eblake@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: kwolf@redhat.com, berto@igalia.com, qemu-devel@nongnu.org,
mdroth@linux.vnet.ibm.com
Subject: Re: [Qemu-devel] [PATCH RFC v3 30/32] qapi: New QMP command query-schema for QMP schema introspection
Date: Tue, 1 Sep 2015 09:48:06 -0600 [thread overview]
Message-ID: <55E5C8B6.10302@redhat.com> (raw)
In-Reply-To: <877foa9thi.fsf@blackfin.pond.sub.org>
[-- Attachment #1: Type: text/plain, Size: 2041 bytes --]
On 09/01/2015 07:09 AM, Markus Armbruster wrote:
> Markus Armbruster <armbru@redhat.com> writes:
>
>> Eric Blake <eblake@redhat.com> writes:
>>
>>> On 08/04/2015 09:58 AM, Markus Armbruster wrote:
> [...]
>>>> +++ b/qapi/introspect.json
>>>
>>>> +{ 'struct': 'SchemaInfoObject',
>>>> + 'data': { 'members': [ 'SchemaInfoObjectMember' ],
>>>> + '*tag': 'str',
>>>> + '*variants': [ 'SchemaInfoObjectVariant' ] } }
>>>
>>> I take it that either tag and variants will both be omitted, or both be
>>> present. No clean way to represent that in the schema, though.
>>
>> Needs a comment.
>
> Alternatively, wrap both tag and variants in an object, mandatory there,
> then make that object optional. Doesn't feel wortwhile to me, but if
> you like it better, I'll reconsider.
No; the extra nesting it would create in QMP is not worth it.
(Well, maybe we want to think about a qapi extension that would allow
unboxed substructs, where you either get all or none of a sub-struct,
but with all of the members of the substruct passed in QMP at the same
nesting level as the rest of the object; but I'm not sure we need it,
and it certainly is too complex to be worrying about right now while the
basics aren't even in place)
>>>> + def visit_enum_type(self, name, info, values):
>>>> + self._gen_json(name, 'enum', { 'values': values })
>>>
>>> Do you want to add a sort() on values here?
>>
>> I want to review the introspection schema systematically for sorting
>> opportunities.
>
> I'm going to leave this job for later, because I feel we should get the
> basics in as soon as possible. We then have the rest of the development
> cycle to refine stuff.
Sure; we have until 2.5 is released to bake in our final assumptions,
and the sooner we can get in a baseline, the easier it will be to play
with what further changes we want to make on top.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]
next prev parent reply other threads:[~2015-09-01 15:48 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-04 15:57 [Qemu-devel] [PATCH RFC v3 00/32] qapi: QMP introspection Markus Armbruster
2015-08-04 15:57 ` [Qemu-devel] [PATCH RFC v3 01/32] qapi: Rename class QAPISchema to QAPISchemaParser Markus Armbruster
2015-08-04 15:57 ` [Qemu-devel] [PATCH RFC v3 02/32] qapi: New QAPISchema intermediate reperesentation Markus Armbruster
2015-08-04 21:53 ` Eric Blake
2015-08-05 6:23 ` Markus Armbruster
2015-08-05 14:27 ` Eric Blake
2015-08-06 5:46 ` Markus Armbruster
2015-08-31 18:09 ` Markus Armbruster
2015-09-03 14:52 ` Eric Blake
2015-09-03 16:13 ` Markus Armbruster
2015-08-04 15:57 ` [Qemu-devel] [PATCH RFC v3 03/32] qapi: QAPISchema code generation helper methods Markus Armbruster
2015-08-04 22:18 ` Eric Blake
2015-08-04 15:57 ` [Qemu-devel] [PATCH RFC v3 04/32] qapi: New QAPISchemaVisitor Markus Armbruster
2015-08-04 22:26 ` Eric Blake
2015-08-05 6:24 ` Markus Armbruster
2015-08-04 15:57 ` [Qemu-devel] [PATCH RFC v3 05/32] tests/qapi-schema: Convert test harness to QAPISchemaVisitor Markus Armbruster
2015-08-04 22:35 ` Eric Blake
2015-08-05 6:26 ` Markus Armbruster
2015-08-04 15:57 ` [Qemu-devel] [PATCH RFC v3 06/32] qapi: Split up some typedefs to ease review Markus Armbruster
2015-08-04 22:37 ` Eric Blake
2015-08-04 15:57 ` [Qemu-devel] [PATCH RFC v3 07/32] qapi: Generate comments to simplify splitting for review Markus Armbruster
2015-08-04 22:54 ` Eric Blake
2015-08-04 15:57 ` [Qemu-devel] [PATCH RFC v3 08/32] Revert "qapi: Generate comments to simplify splitting for review" Markus Armbruster
2015-08-04 15:57 ` [Qemu-devel] [PATCH RFC v3 09/32] Revert "qapi: Split up some typedefs to ease review" Markus Armbruster
2015-08-04 15:57 ` [Qemu-devel] [PATCH RFC v3 10/32] qapi-types: Convert to QAPISchemaVisitor, fixing flat unions Markus Armbruster
2015-08-05 15:15 ` Eric Blake
2015-08-06 5:50 ` Markus Armbruster
2015-08-04 15:57 ` [Qemu-devel] [PATCH RFC v3 11/32] qapi-visit: Convert to QAPISchemaVisitor, fixing bugs Markus Armbruster
2015-08-05 16:03 ` Eric Blake
2015-08-06 22:53 ` Eric Blake
2015-08-08 6:07 ` Markus Armbruster
2015-08-04 15:57 ` [Qemu-devel] [PATCH RFC v3 12/32] qapi-commands: Convert to QAPISchemaVisitor Markus Armbruster
2015-08-04 15:57 ` [Qemu-devel] [PATCH RFC v3 13/32] qapi: De-duplicate enum code generation Markus Armbruster
2015-08-04 15:57 ` [Qemu-devel] [PATCH RFC v3 14/32] qapi-event: Eliminate global variable event_enum_value Markus Armbruster
2015-08-04 15:57 ` [Qemu-devel] [PATCH RFC v3 15/32] qapi-event: Convert to QAPISchemaVisitor, fixing data with base Markus Armbruster
2015-08-04 15:58 ` [Qemu-devel] [PATCH RFC v3 16/32] qapi: Generate comments to simplify splitting for review Markus Armbruster
2015-08-04 23:02 ` Eric Blake
2015-08-04 15:58 ` [Qemu-devel] [PATCH RFC v3 17/32] Revert "qapi: Generate comments to simplify splitting for review" Markus Armbruster
2015-08-04 15:58 ` [Qemu-devel] [PATCH RFC v3 18/32] qapi: Replace dirty is_c_ptr() by method c_null() Markus Armbruster
2015-08-05 16:13 ` Eric Blake
2015-08-06 5:52 ` Markus Armbruster
2015-08-04 15:58 ` [Qemu-devel] [PATCH RFC v3 19/32] qapi: Clean up after recent conversions to QAPISchemaVisitor Markus Armbruster
2015-08-05 16:29 ` Eric Blake
2015-08-04 15:58 ` [Qemu-devel] [PATCH RFC v3 20/32] qapi-visit: Rearrange code a bit Markus Armbruster
2015-08-04 15:58 ` [Qemu-devel] [PATCH RFC v3 21/32] qapi-commands: Rearrange code Markus Armbruster
2015-08-04 15:58 ` [Qemu-devel] [PATCH RFC v3 22/32] qapi: Rename qmp_marshal_input_FOO() to qmp_marshal_FOO() Markus Armbruster
2015-08-04 15:58 ` [Qemu-devel] [PATCH RFC v3 23/32] qapi: De-duplicate parameter list generation Markus Armbruster
2015-08-05 17:00 ` Eric Blake
2015-08-04 15:58 ` [Qemu-devel] [PATCH RFC v3 24/32] qapi-commands: De-duplicate output marshaling functions Markus Armbruster
2015-08-04 15:58 ` [Qemu-devel] [PATCH RFC v3 25/32] qapi: Improve built-in type documentation Markus Armbruster
2015-08-04 15:58 ` [Qemu-devel] [PATCH RFC v3 26/32] qapi: Introduce a first class 'any' type Markus Armbruster
2015-08-07 19:30 ` Eric Blake
2015-08-08 6:24 ` Markus Armbruster
2015-08-31 9:07 ` Markus Armbruster
2015-08-04 15:58 ` [Qemu-devel] [PATCH RFC v3 27/32] qom: Don't use 'gen': false for qom-get, qom-set, object-add Markus Armbruster
2015-08-04 15:58 ` [Qemu-devel] [PATCH RFC v3 28/32] qapi-schema: Fix up misleading specification of netdev_add Markus Armbruster
2015-08-04 15:58 ` [Qemu-devel] [PATCH RFC v3 29/32] qapi: Pseudo-type '**' is now unused, drop it Markus Armbruster
2015-08-05 17:13 ` Eric Blake
2015-08-04 15:58 ` [Qemu-devel] [PATCH RFC v3 30/32] qapi: New QMP command query-schema for QMP schema introspection Markus Armbruster
2015-08-05 20:20 ` Eric Blake
2015-08-06 6:23 ` Markus Armbruster
2015-09-01 13:09 ` Markus Armbruster
2015-09-01 15:48 ` Eric Blake [this message]
2015-08-05 20:54 ` Eric Blake
2015-08-06 6:47 ` Markus Armbruster
2015-08-23 4:17 ` Eric Blake
2015-08-24 11:30 ` Markus Armbruster
2015-08-24 13:07 ` Eric Blake
2015-08-24 16:51 ` Eric Blake
2015-08-24 16:55 ` Markus Armbruster
2015-08-24 17:14 ` Eric Blake
2015-08-25 8:33 ` Markus Armbruster
2015-09-01 18:40 ` Michael Roth
2015-09-01 19:12 ` Eric Blake
2015-09-01 20:23 ` Michael Roth
2015-09-02 8:56 ` Markus Armbruster
2015-09-02 16:21 ` Michael Roth
2015-09-03 9:26 ` Markus Armbruster
2015-09-03 14:31 ` Eric Blake
2015-09-03 15:59 ` Michael Roth
2015-09-03 17:01 ` Markus Armbruster
2015-09-03 19:59 ` Michael Roth
2015-09-04 6:39 ` Markus Armbruster
2015-08-04 15:58 ` [Qemu-devel] [PATCH RFC v3 31/32] qapi-introspect: Map all integer types to 'int' Markus Armbruster
2015-08-04 15:58 ` [Qemu-devel] [PATCH RFC v3 32/32] qapi-introspect: Hide type names Markus Armbruster
2015-08-05 21:06 ` Eric Blake
2015-08-05 21:50 ` Eric Blake
2015-08-06 6:49 ` Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55E5C8B6.10302@redhat.com \
--to=eblake@redhat.com \
--cc=armbru@redhat.com \
--cc=berto@igalia.com \
--cc=kwolf@redhat.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.