[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 15/16] qmp: add pull_event function
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH v3 15/16] qmp: add pull_event function |
Date: |
Thu, 18 Oct 2012 16:49:29 +0200 |
This function is unlike get_events in that it makes it easy to process
one event at a time. This is useful in the mirroring test cases, where
we want to process just one event (BLOCK_JOB_ERROR) and leave the others
to a helper function.
Acked-by: Luiz Capitulino <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
QMP/qmp.py | 20 ++++++++++++++++++++
1 file modificato, 20 inserzioni(+)
diff --git a/QMP/qmp.py b/QMP/qmp.py
index 32510a1..c551df1 100644
--- a/QMP/qmp.py
+++ b/QMP/qmp.py
@@ -136,6 +136,26 @@ class QEMUMonitorProtocol:
raise Exception(ret['error']['desc'])
return ret['return']
+ def pull_event(self, wait=False):
+ """
+ Get and delete the first available QMP event.
+
+ @param wait: block until an event is available (bool)
+ """
+ self.__sock.setblocking(0)
+ try:
+ self.__json_read()
+ except socket.error, err:
+ if err[0] == errno.EAGAIN:
+ # No data available
+ pass
+ self.__sock.setblocking(1)
+ if not self.__events and wait:
+ self.__json_read(only_event=True)
+ event = self.__events[0]
+ del self.__events[0]
+ return event
+
def get_events(self, wait=False):
"""
Get a list of available QMP events.
--
1.7.12.1
- [Qemu-devel] [PATCH v3 04/16] block: introduce new dirty bitmap functionality, (continued)
- [Qemu-devel] [PATCH v3 04/16] block: introduce new dirty bitmap functionality, Paolo Bonzini, 2012/10/18
- [Qemu-devel] [PATCH v3 05/16] block: export dirty bitmap information in query-block, Paolo Bonzini, 2012/10/18
- [Qemu-devel] [PATCH v3 06/16] block: rename block_job_complete to block_job_completed, Paolo Bonzini, 2012/10/18
- [Qemu-devel] [PATCH v3 07/16] block: add block-job-complete, Paolo Bonzini, 2012/10/18
- [Qemu-devel] [PATCH v3 08/16] block: introduce BLOCK_JOB_READY event, Paolo Bonzini, 2012/10/18
- [Qemu-devel] [PATCH v3 09/16] mirror: introduce mirror job, Paolo Bonzini, 2012/10/18
- [Qemu-devel] [PATCH v3 13/16] iostatus: forward block_job_iostatus_reset to block job, Paolo Bonzini, 2012/10/18
- [Qemu-devel] [PATCH v3 14/16] mirror: add support for on-source-error/on-target-error, Paolo Bonzini, 2012/10/18
- [Qemu-devel] [PATCH v3 15/16] qmp: add pull_event function,
Paolo Bonzini <=
- [Qemu-devel] [PATCH v3 12/16] qemu-iotests: add mirroring test case, Paolo Bonzini, 2012/10/18
- Re: [Qemu-devel] [PATCH v3 12/16] qemu-iotests: add mirroring test case, Kevin Wolf, 2012/10/19
- Re: [Qemu-devel] [PATCH v3 12/16] qemu-iotests: add mirroring test case, Paolo Bonzini, 2012/10/20
- Re: [Qemu-devel] [PATCH v3 12/16] qemu-iotests: add mirroring test case, Kevin Wolf, 2012/10/22
- Re: [Qemu-devel] [PATCH v3 12/16] qemu-iotests: add mirroring test case, Paolo Bonzini, 2012/10/22
- [Qemu-devel] [PATCH v4 12/16] qemu-iotests: add mirroring test case, Paolo Bonzini, 2012/10/23
- [Qemu-devel] [PATCH v4 16/16] qemu-iotests: add testcases for mirroring on-source-error/on-target-error, Paolo Bonzini, 2012/10/23
- Re: [Qemu-devel] [PATCH v3 12/16] qemu-iotests: add mirroring test case, Kevin Wolf, 2012/10/19
[Qemu-devel] [PATCH v3 16/16] qemu-iotests: add testcases for mirroring on-source-error/on-target-error, Paolo Bonzini, 2012/10/18
[Qemu-devel] [PATCH v3 11/16] mirror: implement completion, Paolo Bonzini, 2012/10/18