Currently the timeout of QEMUMonitorProtocol.accept() is
hard-coded to 15 seconds. This added the parameter `timeout`
so the value can be configured by the user.
Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
---
python/qemu/qmp.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/python/qemu/qmp.py b/python/qemu/qmp.py
index f4e04a6683..914b8c6774 100644
--- a/python/qemu/qmp.py
+++ b/python/qemu/qmp.py
@@ -154,16 +154,17 @@ class QEMUMonitorProtocol:
return self.__negotiate_capabilities()
return None
- def accept(self):
+ def accept(self, timeout=15):
"""
Await connection from QMP Monitor and perform capabilities negotiation.
+ @param timeout (float): timeout in seconds. Default is 15.
@return QMP greeting dict
@raise OSError on socket connection errors
@raise QMPConnectError if the greeting is not received
@raise QMPCapabilitiesError if fails to negotiate capabilities
"""
- self.__sock.settimeout(15)
+ self.__sock.settimeout(timeout)
self.__sock, _ = self.__sock.accept()
self.__sockfile = self.__sock.makefile()
return self.__negotiate_capabilities()
--
2.23.0
On 12/27/19 2:40 PM, Wainer dos Santos Moschetta wrote: > Currently the timeout of QEMUMonitorProtocol.accept() is > hard-coded to 15 seconds. This added the parameter `timeout` > so the value can be configured by the user. > > Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com> > --- > python/qemu/qmp.py | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/python/qemu/qmp.py b/python/qemu/qmp.py > index f4e04a6683..914b8c6774 100644 > --- a/python/qemu/qmp.py > +++ b/python/qemu/qmp.py > @@ -154,16 +154,17 @@ class QEMUMonitorProtocol: > return self.__negotiate_capabilities() > return None > > - def accept(self): > + def accept(self, timeout=15): > """ > Await connection from QMP Monitor and perform capabilities negotiation. > > + @param timeout (float): timeout in seconds. Default is 15. Maybe name with unit: 'timeout_s'. Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > @return QMP greeting dict > @raise OSError on socket connection errors > @raise QMPConnectError if the greeting is not received > @raise QMPCapabilitiesError if fails to negotiate capabilities > """ > - self.__sock.settimeout(15) > + self.__sock.settimeout(timeout) > self.__sock, _ = self.__sock.accept() > self.__sockfile = self.__sock.makefile() > return self.__negotiate_capabilities() >
On 12/27/19 8:40 AM, Wainer dos Santos Moschetta wrote: > Currently the timeout of QEMUMonitorProtocol.accept() is > hard-coded to 15 seconds. This added the parameter `timeout` > so the value can be configured by the user. > > Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com> > --- > python/qemu/qmp.py | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/python/qemu/qmp.py b/python/qemu/qmp.py > index f4e04a6683..914b8c6774 100644 > --- a/python/qemu/qmp.py > +++ b/python/qemu/qmp.py > @@ -154,16 +154,17 @@ class QEMUMonitorProtocol: > return self.__negotiate_capabilities() > return None > > - def accept(self): > + def accept(self, timeout=15): > """ > Await connection from QMP Monitor and perform capabilities negotiation. > > + @param timeout (float): timeout in seconds. Default is 15. What happens if I pass -1 or 0? Please document the valid range for this parameter. > @return QMP greeting dict > @raise OSError on socket connection errors > @raise QMPConnectError if the greeting is not received > @raise QMPCapabilitiesError if fails to negotiate capabilities > """ > - self.__sock.settimeout(15) > + self.__sock.settimeout(timeout) > self.__sock, _ = self.__sock.accept() > self.__sockfile = self.__sock.makefile() > return self.__negotiate_capabilities() >
On 1/9/20 1:18 AM, John Snow wrote: > On 12/27/19 8:40 AM, Wainer dos Santos Moschetta wrote: >> Currently the timeout of QEMUMonitorProtocol.accept() is >> hard-coded to 15 seconds. This added the parameter `timeout` >> so the value can be configured by the user. >> >> Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com> >> --- >> python/qemu/qmp.py | 5 +++-- >> 1 file changed, 3 insertions(+), 2 deletions(-) >> >> diff --git a/python/qemu/qmp.py b/python/qemu/qmp.py >> index f4e04a6683..914b8c6774 100644 >> --- a/python/qemu/qmp.py >> +++ b/python/qemu/qmp.py >> @@ -154,16 +154,17 @@ class QEMUMonitorProtocol: >> return self.__negotiate_capabilities() >> return None >> >> - def accept(self): >> + def accept(self, timeout=15): Since it is a float, it is clearer to use 15.0 as default IMHO. >> """ >> Await connection from QMP Monitor and perform capabilities negotiation. >> >> + @param timeout (float): timeout in seconds. Default is 15. > > What happens if I pass -1 or 0? Please document the valid range for this > parameter. > >> @return QMP greeting dict >> @raise OSError on socket connection errors >> @raise QMPConnectError if the greeting is not received >> @raise QMPCapabilitiesError if fails to negotiate capabilities >> """ >> - self.__sock.settimeout(15) >> + self.__sock.settimeout(timeout) >> self.__sock, _ = self.__sock.accept() >> self.__sockfile = self.__sock.makefile() >> return self.__negotiate_capabilities() >> > >
© 2016 - 2026 Red Hat, Inc.