From: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
To: Eric Blake <eblake@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
Cc: kwolf@redhat.com, armbru@redhat.com, qemu-devel@nongnu.org,
stefanha@redhat.com, lcapitulino@redhat.com
Subject: Re: [Qemu-devel] [PATCH 3/6] qapi: rename prefix QEVENT to Q_EVENT
Date: Wed, 30 Oct 2013 15:26:48 +0800 [thread overview]
Message-ID: <5270B4B8.2030000@linux.vnet.ibm.com> (raw)
In-Reply-To: <526FDDC4.9010803@redhat.com>
于 2013/10/30 0:09, Eric Blake 写道:
> On 10/28/2013 11:22 PM, Wenchao Xia wrote:
>
>> MONITOR_EVENT seems tide to monitor too much, since it will be present
>> in qapi-schema, I think Q_EVENT_ or QMP_EVENT_KIND would be better?
> I don't have a strong enough opinion on the bikeshed color.
> MONITOR_EVENT implies the event is always associated with delivery over
> a monitor; but how else would you receive an event without a monitor?
Block code emit event already, when it is packaged as a library
it may need emit to other place. I think event doesn't have to be
bond to monitor, I can modify the qapi script to generate name correctly,
to avoid patch 2, Since it seems not right to have '_' between two capitals.
>> I am coding v2, which fully support event define in qapi-schema. There
>> is another thing I hope to know your opinion:
>> Should we support use enum as discriminator?
>>
>> { 'enum': 'QEvent',
>> 'data': [ 'SHUTDOWN', 'POWERDOWN']
>>
>> { 'type': 'QmpEventBase',
>> 'data': { 'event': 'QEvent', 'timestamp': 'EventTimestamp' } }
>>
>> { 'Union': 'QmpEvent',
>> 'base': 'QmpEventBase',
>> 'discriminator': 'event',
> I raised that question when Kevin first added discriminated unions; if I
> recall, the answer was along the lines: "yes, it would be a nice
> addition, but someone would have to code it, and we'd have to teach the
> generator.py to loudly fail if all branches of the enum are not covered
> in the union's data". So go for it!
OK, will send it soon.
>
>> 'data': {
>> 'SHUTDOWN' : 'EventShutdown',
>> 'POWERDOWN' : 'EventPowerdown'
>> }
>> }
>>
>> By default 'QmpEvent' will generate a hidden enum type 'QmpEventKind'.
>> but the hidden type define is needed by query-event, so there is two way
>> to archieve it:
>> 1 just use the hidden type in qapi-schema.json.
>> 2 modified the script to support use predefined enum type.
>> In my draft code, both can work, but which one do you prefer?
> I'd like to see the addition of an enum-typed discriminator, rather than
> forcing the discriminator to be string-only.
>
next prev parent reply other threads:[~2013-10-30 7:27 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-21 2:15 [Qemu-devel] [PATCH 0/6] qapi: generate event defines automatically Wenchao Xia
2013-10-21 2:16 ` [Qemu-devel] [PATCH 1/6] block: use type MonitorEvent directly Wenchao Xia
2013-10-21 2:16 ` [Qemu-devel] [PATCH 2/6] qapi: rename MonitorEvent to QEvent Wenchao Xia
2013-10-21 20:38 ` Eric Blake
2013-11-01 14:02 ` Luiz Capitulino
2013-11-01 14:21 ` [Qemu-devel] [libvirt] QEMU 1.6 and drive discard parameter Gareth Bult
2013-11-04 1:59 ` [Qemu-devel] [PATCH 2/6] qapi: rename MonitorEvent to QEvent Wenchao Xia
2013-11-04 13:33 ` Luiz Capitulino
2013-11-05 2:17 ` Wenchao Xia
2013-11-05 2:51 ` Luiz Capitulino
2013-11-05 5:31 ` Wenchao Xia
2013-11-05 14:06 ` Luiz Capitulino
2013-11-06 3:25 ` Wenchao Xia
2013-10-21 2:16 ` [Qemu-devel] [PATCH 3/6] qapi: rename prefix QEVENT to Q_EVENT Wenchao Xia
2013-10-21 20:41 ` Eric Blake
2013-10-22 2:43 ` Wenchao Xia
2013-10-28 10:44 ` Paolo Bonzini
2013-10-29 5:22 ` Wenchao Xia
2013-10-29 16:09 ` Eric Blake
2013-10-30 7:26 ` Wenchao Xia [this message]
2013-11-01 14:06 ` Luiz Capitulino
2013-10-29 18:18 ` Kevin Wolf
2013-10-30 7:27 ` Wenchao Xia
2013-10-30 11:55 ` Paolo Bonzini
2013-10-31 5:26 ` Wenchao Xia
2013-10-21 2:16 ` [Qemu-devel] [PATCH 4/6] qapi: move event defines to qapi-schema.json Wenchao Xia
2013-10-21 20:45 ` Eric Blake
2013-10-21 2:16 ` [Qemu-devel] [PATCH 5/6] qapi: remove var monitor_event_names[] Wenchao Xia
2013-10-21 20:47 ` Eric Blake
2013-10-21 2:16 ` [Qemu-devel] [PATCH 6/6] qapi: add doc for QEvent Wenchao Xia
2013-10-21 21:00 ` Eric Blake
2013-10-22 3:19 ` Wenchao Xia
2013-10-22 3:46 ` Eric Blake
2013-10-23 0:37 ` Wenchao Xia
2013-10-29 23:02 ` Eric Blake
2013-10-30 7:51 ` Wenchao Xia
2013-10-22 6:55 ` Wenchao Xia
2013-10-22 7:33 ` Wenchao Xia
2013-10-22 8:58 ` Eric Blake
2013-10-25 9:16 ` [Qemu-devel] [PATCH 0/6] qapi: generate event defines automatically Wenchao Xia
2013-11-01 14:28 ` Luiz Capitulino
2013-11-04 1:54 ` Wenchao Xia
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5270B4B8.2030000@linux.vnet.ibm.com \
--to=xiawenc@linux.vnet.ibm.com \
--cc=armbru@redhat.com \
--cc=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).