From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MJR4u-0003we-MN for qemu-devel@nongnu.org; Wed, 24 Jun 2009 07:55:48 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MJR4q-0003sg-4C for qemu-devel@nongnu.org; Wed, 24 Jun 2009 07:55:48 -0400 Received: from [199.232.76.173] (port=53904 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MJR4p-0003sd-Uo for qemu-devel@nongnu.org; Wed, 24 Jun 2009 07:55:43 -0400 Received: from smtp.eu.citrix.com ([62.200.22.115]:3796) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MJR4o-0006Jn-15 for qemu-devel@nongnu.org; Wed, 24 Jun 2009 07:55:42 -0400 Date: Wed, 24 Jun 2009 12:55:37 +0100 From: James Subject: Re: [Qemu-devel] [PATCH 01/11] QMP: Introduce specification file Message-ID: <20090624115537.GA24320@taoand.xen.fishsoupisgoodforyou.com> References: <4A40FB26.2040702@us.ibm.com> <4A40FD1A.1040303@redhat.com> <4A40FE31.2010007@us.ibm.com> <4A40FFB0.2070905@redhat.com> <4A411FC5.7050701@us.ibm.com> <4A412339.5000109@redhat.com> <4A412659.1080803@us.ibm.com> <20090623220204.GA5612@snarc.org> <4A415C30.7030301@us.ibm.com> <20090624010108.GA6537@snarc.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20090624010108.GA6537@snarc.org> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "qemu-devel@nongnu.org" > now providing there was a maintained library out there, would you use it ? > or do you have more concerns that were unanswered ? I have exactly one concern. If Qemu grows an RPC protocol, it will be used by a large number of other programs to control qemu. This is a good thing. But it is important that such a system 1) either supports some sort of introspection so that the functions and their arguments can be divined by the external program without knowing which particular version of qemu it is talking to. 2) and/or supports an IDL so that the interface is properly documented in something other than an under-edited text file. To this end I tentitatively suggest d-bus as a possible choice. It fills 1 and 2 nicely and also allows each module to have its own interfaces and objects. The IDL will also generate C bindings for both ends. I should add I'm not a fan of d-bus, but it seems a better fit than JSON-RPC James.