On 7/31/20 12:35 PM, Paolo Bonzini wrote:
On 31/07/20 17:26, John Snow wrote:
I saw the critique that we still use JSON-ish for the runtime QMP
protocol, and moving the QAPI IDL to a standard wouldn't remove all
instances of a custom format from our tree.
Sorry, but "still using JSON" is not a critique that makes any sense.
99% of the websites you use daily use JSON as their RPC
frontend-to-backend language; OpenAPI is essentially JSON over HTTP.
There must be something good in JSON.
Whenever you hear a complaint about "using JSON", it's actually a
complaint about bindings for your language, which can be a sensible
critique: gRPC is essentially {protobuf,FlatBuffers} over HTTP/2 plus a
boatload of language mappings. Unfortunately C is not one of those
mappings.
Paolo
You have misunderstood me.
The critique I am relaying, but not raising, is that we already use a
custom JSON parser in two or more places, and so replacing one instance
of this with a new format actually complicates QEMU instead of
simplifies it.
I disagree with this concern on the premise that moving one non-standard
JSON usage to a standard usage is a win because it reduces the total
number of instances of proprietary formats.
Further, if we remove ALL instances of proprietary JSON, then we're back
to the same level of complexity internally, but with a reduced level of
complexity for outside observers.
This is why I said "JSON-ish", not "JSON".
--js