Message ID | 20191227134101.244496-4-wainersm@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | python/qemu: qmp: Fix, delint and improvements | expand |
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() >> > >
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()
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(-)