qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] full introspection support for QMP


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH] full introspection support for QMP
Date: Wed, 03 Jul 2013 07:52:58 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130514 Thunderbird/17.0.6

Il 02/07/2013 22:58, Anthony Liguori ha scritto:
> > > We consume the schema in QEMU.  No reason for us to consume it in a
> > > different format than libvirt.
> >
> > One reason could be that qapi-schema.json, as written, lacks a schema
> > that can be expressed itself using QAPI.
>
> Yup, but how much does that matter in practice?

It matters little because we do not provide a library of QAPI
parsers/visitors, so clients have to invent their own anyway.

But if we did, clients would be completely oblivious of the fact that
QMP is based on JSON.  Sending qapi-schema.json down the wire as a JSON
string would break the abstraction that we provide to the clients.

> At any rate, if we wanted to solve this problem--a self-describing
> schema--we should do it in qapi-schema.json too.

I disagree.  I also disagree that qapi-schema.json, as written, is a
format designed for machine consumption.

So, qapi-schema.json has to be readable/writable _mostly_ by humans.
That it is valid JSON is little more than a curious accident, because
overall the syntax greatly favors humans rather than computers.  A
format designed for computers would have a schema such that no parsing
tasks (however small---I'm thinking of the "list of" and "optional"
syntaxes) would be left after parsing the JSON.

The example that Eric sent is not something that I would find easy to
read/write.  qapi-schema.json instead is more than acceptable.

Paolo



reply via email to

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