qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 08/11] QMP: Asynchronous messages enable/disable


From: Jamie Lokier
Subject: Re: [Qemu-devel] [PATCH 08/11] QMP: Asynchronous messages enable/disable support
Date: Sun, 24 Jan 2010 11:07:25 +0000
User-agent: Mutt/1.5.13 (2006-08-11)

Avi Kivity wrote:
> On 01/22/2010 08:05 PM, Anthony Liguori wrote:
> >On 01/21/2010 03:09 PM, Luiz Capitulino wrote:
> >>This commit disables asynchronous messages by default and
> >>introduces two new QMP commands: async_msg_enable and
> >>async_msg_disable.
> >>
> >>Each QMP Monitor has its own set of asynchronous messages,
> >>so for example, if QEMU is run with two QMP Monitors async
> >>messages setup in one of them doesn't affect the other.
> >>
> >>To implement this design a bitmap is introduced to the
> >>Monitor struct, each async message is represented by one bit.
> >>
> >>Signed-off-by: Luiz Capitulino<address@hidden>
> >
> >Ah, I see I was a little confused.
> >
> >I'd suggest making async message masking an independent mechanism.  
> >Capabilities should strictly deal with protocol changes, not feature 
> >details.
> >
> >For instance, protocol timestamps are something would reasonable 
> >considered a capability.  Extended data types would be a capability.
> >
> >Another way to look at it, is that if you're writing a client library, 
> >the capability negotiation should be entirely invisible to the end API 
> >user.
> 
> I agree with that, but we can look at async messages as a baseline 
> protocol capability (thus no negotiation required), and the new command 
> only enabled individual messages.

I'd like to be able to connect and be sure not to receive any async
messages, from simple scripts with simple output parsing.

If async messages can only be received as a result of commands which
trigger individual messages, that will be achieved.

But it would be a nice little bonus if disabling async messages caused
all slow commands to be synchronous - that is, the async result
message becomes the command's synchronous result.

-- Jamie




reply via email to

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