From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=50808 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Pxiw9-0006jJ-IY for qemu-devel@nongnu.org; Thu, 10 Mar 2011 11:42:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Pxiw7-0006rG-Lq for qemu-devel@nongnu.org; Thu, 10 Mar 2011 11:42:05 -0500 Received: from mail-gw0-f45.google.com ([74.125.83.45]:34829) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Pxiw7-0006qw-JY for qemu-devel@nongnu.org; Thu, 10 Mar 2011 11:42:03 -0500 Received: by gwb19 with SMTP id 19so604152gwb.4 for ; Thu, 10 Mar 2011 08:42:02 -0800 (PST) Message-ID: <4D78FF59.5090809@codemonkey.ws> Date: Thu, 10 Mar 2011 10:42:01 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 19/22] qapi: add QMP put-event command References: <1299460984-15849-1-git-send-email-aliguori@us.ibm.com> <1299460984-15849-20-git-send-email-aliguori@us.ibm.com> <4D778117.9060505@redhat.com> <4D778545.7040403@codemonkey.ws> <4D778797.9090602@redhat.com> <4D778E07.5070408@codemonkey.ws> <4D78C69F.6010003@redhat.com> <4D78DC5A.3000601@codemonkey.ws> <4D78DF3A.9000600@redhat.com> <4D78EEA3.9050401@redhat.com> <4D78F11B.4050402@codemonkey.ws> <4D78F2F2.9020007@redhat.com> In-Reply-To: <4D78F2F2.9020007@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: qemu-devel@nongnu.org, Markus Armbruster , Luiz Capitulino On 03/10/2011 09:49 AM, Avi Kivity wrote: > On 03/10/2011 05:41 PM, Anthony Liguori wrote: >>> I also think it should be at the protocol layer: >>> >>> > { execute: some-command, id: foo, arguments: { ... } } >>> < { result: { ... }, id: foo } >>> > { subscribe: block-io-error, id: bar, arguments: { ... } } >>> < { result: { ... } id: bar } >>> < { event: block-io-error, id: bar, data : { ... } } >>> > { unsubscribe: block-io-error, id: bar } >>> < { result: { ... } id: bar } >>> >>> So events are now protocol-level pieces like commands, and the use >>> of tags is uniform. >> >> >> Maybe for QMPv2, but for QMPv1, this is going to introduce an >> extremely incompatible change. > > Why? It's 100% backwards compatible. It's a very significant change for clients. While technical compatible, it would require a change to the client infrastructure to support the new feature. I'm not saying we shouldn't make a change like this, but we should minimize these type of changes. Regards, Anthony Liguori