All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jamie Lokier <jamie@shareable.org>
To: "Daniel P. Berrange" <berrange@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	aliguori@us.ibm.com, avi@redhat.com, qemu-devel@nongnu.org,
	Luiz Capitulino <lcapitulino@redhat.com>
Subject: Re: [Qemu-devel] [RFC 00/11]: QMP feature negotiation support
Date: Tue, 26 Jan 2010 15:57:46 +0000	[thread overview]
Message-ID: <20100126155746.GA10002@shareable.org> (raw)
In-Reply-To: <20100126142912.GN5366@redhat.com>

Daniel P. Berrange wrote:
> On Tue, Jan 26, 2010 at 12:57:54PM +0000, Jamie Lokier wrote:
> > Luiz Capitulino wrote:
> > > capability_enable [ "foo", "bar" ]
> > > 
> > >  Now, only one command is not terrible difficult, but we would
> > > have to accept an array of objects, like:
> > > 
> > > [ { "name": "foo", "enabled": true }, { "name": "bar", "enabled": true } ]
> > 
> > That looks like XML-itis.
> > 
> > Why not { "foo": true, "bar": true }?
> 
> It depends on whether we think we're going to need to add more metadata
> beyond just the enabled/disabled status. If we did want to add a further
> item against foo & bar, then having the array of hashes makes that 
> extension easier becaue you add easily add more key/value pairs to
> each.

Sure, extensibility is good, and I personally don't care which
format/function are used.  Just wanted to question the padded
structure, because sometimes that style is done unintentially.

Look at the argument leading up here - Luiz says let's use separate,
non-extensible enable/disable commands taking a list, because if it
were a single command it'd be important to make it extensible.  Does
that make sense?  I don't understand that reasoning.

On that topic: In the regular monitor, commands are often extensible
because they take command-line-style options, and you can always add
more options.  What about QMP - are QMP commands all future-extensible
with options in a similar way?

-- Jamie

(ps. XML-itis: a tendancy to write
<element><name>tag</name><attribute><attr-name>name</attr-name><attr-value>value</attr-value></attribute></element>,
when <tag name=value/> would do).

  reply	other threads:[~2010-01-26 15:57 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-21 21:09 [Qemu-devel] [RFC 00/11]: QMP feature negotiation support Luiz Capitulino
2010-01-21 21:09 ` [Qemu-devel] [PATCH 01/11] QMP: Initial mode-oriented bits Luiz Capitulino
2010-01-21 21:09 ` [Qemu-devel] [PATCH 02/11] QMP: Introduce 'query-qmp-mode' command Luiz Capitulino
2010-01-21 21:09 ` [Qemu-devel] [PATCH 03/11] QError: Add QMP mode-oriented errors Luiz Capitulino
2010-01-21 21:09 ` [Qemu-devel] [PATCH 04/11] QMP: Introduce qmp_switch_mode command Luiz Capitulino
2010-01-21 21:09 ` [Qemu-devel] [PATCH 05/11] QMP: advertise asynchronous messages Luiz Capitulino
2010-01-21 21:09 ` [Qemu-devel] [PATCH 06/11] QMP: Array-based async messages Luiz Capitulino
2010-01-21 21:09 ` [Qemu-devel] [PATCH 07/11] QError: New QERR_ASYNC_MSG_NOT_FOUND Luiz Capitulino
2010-01-21 21:09 ` [Qemu-devel] [PATCH 08/11] QMP: Asynchronous messages enable/disable support Luiz Capitulino
2010-01-22 18:05   ` Anthony Liguori
2010-01-22 20:09     ` Luiz Capitulino
2010-01-22 23:14       ` Anthony Liguori
2010-01-25 14:29       ` Markus Armbruster
2010-01-25 14:33         ` Avi Kivity
2010-01-25 15:11           ` Luiz Capitulino
2010-01-24 10:34     ` Avi Kivity
2010-01-24 11:07       ` Jamie Lokier
2010-01-24 15:35         ` Anthony Liguori
2010-01-24 18:35           ` Jamie Lokier
2010-01-25 11:49             ` Luiz Capitulino
2010-01-25 14:15               ` Markus Armbruster
2010-01-25 14:22                 ` Luiz Capitulino
2010-01-24 14:04       ` Anthony Liguori
2010-01-24 14:17         ` Avi Kivity
2010-01-24 14:19           ` Anthony Liguori
2010-01-25 12:02             ` Luiz Capitulino
2010-01-24 10:36   ` [Qemu-devel] " Avi Kivity
2010-01-25 13:14     ` Luiz Capitulino
2010-01-21 21:09 ` [Qemu-devel] [PATCH 09/11] Monitor: Introduce find_info_cmd() Luiz Capitulino
2010-01-21 21:09 ` [Qemu-devel] [PATCH 10/11] QError: New QERR_QMP_INVALID_MODE_COMMAND Luiz Capitulino
2010-01-21 21:09 ` [Qemu-devel] [PATCH 11/11] QMP: Enable feature negotiation support Luiz Capitulino
2010-01-22 10:21 ` [Qemu-devel] [RFC 00/11]: QMP " Markus Armbruster
2010-01-22 12:09   ` Luiz Capitulino
2010-01-22 14:00     ` Markus Armbruster
2010-01-22 18:00 ` Anthony Liguori
2010-01-25 14:33   ` Markus Armbruster
2010-01-26 11:53     ` Luiz Capitulino
2010-01-26 12:57       ` Jamie Lokier
2010-01-26 13:45         ` Luiz Capitulino
2010-01-26 14:29         ` Daniel P. Berrange
2010-01-26 15:57           ` Jamie Lokier [this message]
2010-01-26 16:21             ` Luiz Capitulino

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=20100126155746.GA10002@shareable.org \
    --to=jamie@shareable.org \
    --cc=aliguori@us.ibm.com \
    --cc=armbru@redhat.com \
    --cc=avi@redhat.com \
    --cc=berrange@redhat.com \
    --cc=lcapitulino@redhat.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.