raise NotImplementedError("This method must be overrided by subclass")
@staticmethod
- def open_block((error, stream)):
+ def open_block(error_stream):
"""Blocks until a Stream completes its connection attempt, either
succeeding or failing. (error, stream) should be the tuple returned by
Stream.open(). Returns a tuple of the same form.
Typical usage:
error, stream = Stream.open_block(Stream.open("unix:/tmp/socket"))"""
+ # Py3 doesn't support tuple parameter unpacking - PEP 3113
+ error, stream = error_stream
if not error:
while True:
error = stream.connect()
try:
return (0, self.socket.recv(n))
- except socket.error, e:
+ except socket.error as e:
return (ovs.socket_util.get_exception_errno(e), "")
def send(self, buf):
try:
return self.socket.send(buf)
- except socket.error, e:
+ except socket.error as e:
return -ovs.socket_util.get_exception_errno(e)
def run(self):
try:
sock.listen(10)
- except socket.error, e:
+ except socket.error as e:
vlog.err("%s: listen: %s" % (name, os.strerror(e.error)))
sock.close()
return e.error, None
sock, addr = self.socket.accept()
ovs.socket_util.set_nonblocking(sock)
return 0, Stream(sock, "unix:%s" % addr, 0)
- except socket.error, e:
+ except socket.error as e:
error = ovs.socket_util.get_exception_errno(e)
if error != errno.EAGAIN:
# XXX rate-limit