diff options
author | Ryota Ozaki <ozaki.ryota@gmail.com> | 2012-09-14 21:44:20 +0900 |
---|---|---|
committer | Luiz Capitulino <lcapitulino@redhat.com> | 2012-09-26 10:45:02 -0300 |
commit | e9d17b6890ae772f3652c8cacf4e1f72f576f907 (patch) | |
tree | 938833b05d42c7ce7414ad25acc6ee60b5ea024c /QMP/qmp.py | |
parent | ac05f3492421caeb05809ffa02c6198ede179e43 (diff) |
Make negotiation optional in QEMUMonitorProtocol
This is a preparation for qemu-ga-client which uses
QEMUMonitorProtocol class. The class tries to
negotiate capabilities on connect, however, qemu-ga
doesn't suppose it and fails.
This change makes the negotiation optional, though
it's still performed by default for compatibility.
Signed-off-by: Ryota Ozaki <ozaki.ryota@gmail.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Diffstat (limited to 'QMP/qmp.py')
-rw-r--r-- | QMP/qmp.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/QMP/qmp.py b/QMP/qmp.py index 36ecc1dfae..5a573e1488 100644 --- a/QMP/qmp.py +++ b/QMP/qmp.py @@ -49,7 +49,6 @@ class QEMUMonitorProtocol: return socket.socket(family, socket.SOCK_STREAM) def __negotiate_capabilities(self): - self.__sockfile = self.__sock.makefile() greeting = self.__json_read() if greeting is None or not greeting.has_key('QMP'): raise QMPConnectError @@ -73,7 +72,7 @@ class QEMUMonitorProtocol: error = socket.error - def connect(self): + def connect(self, negotiate=True): """ Connect to the QMP Monitor and perform capabilities negotiation. @@ -83,7 +82,9 @@ class QEMUMonitorProtocol: @raise QMPCapabilitiesError if fails to negotiate capabilities """ self.__sock.connect(self.__address) - return self.__negotiate_capabilities() + self.__sockfile = self.__sock.makefile() + if negotiate: + return self.__negotiate_capabilities() def accept(self): """ |