X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=python%2Fovs%2Fstream.py;h=35f2e0ce7f960ea430eb7ae7a47c18212a1eb5d7;hb=03a8a29eb87ef21d0e56c200ebe43878ef773d63;hp=c1ce422fa43ca71a518a6272b93bdc327780ff95;hpb=9601fa824d2c3968fda75204488e347d66d62d1f;p=openvswitch diff --git a/python/ovs/stream.py b/python/ovs/stream.py index c1ce422f..35f2e0ce 100644 --- a/python/ovs/stream.py +++ b/python/ovs/stream.py @@ -1,4 +1,4 @@ -# Copyright (c) 2010 Nicira Networks +# Copyright (c) 2010, 2011 Nicira Networks # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,7 +17,6 @@ import logging import os import select import socket -import sys import ovs.poller import ovs.socket_util @@ -75,8 +74,8 @@ class Stream(object): return errno.EAFNOSUPPORT, None Stream.n_unix_sockets += 1 - bind_path = "/tmp/stream-unix.%ld.%d" % (os.getpid(), - Stream.n_unix_sockets) + bind_path = "/tmp/stream-unix.%d.%d" % (os.getpid(), + Stream.n_unix_sockets) connect_path = name[5:] error, sock = ovs.socket_util.make_unix_socket(socket.SOCK_STREAM, True, bind_path, @@ -88,15 +87,14 @@ class Stream(object): return 0, Stream(sock, name, bind_path, status) @staticmethod - def open_block(tuple): + def open_block((error, stream)): """Blocks until a Stream completes its connection attempt, either - succeeding or failing. 'tuple' should be the tuple returned by + 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("tcp:1.2.3.4:5"))""" + error, stream = Stream.open_block(Stream.open("unix:/tmp/socket"))""" - error, stream = tuple if not error: while True: error = stream.connect() @@ -207,10 +205,10 @@ class Stream(object): if self.state == Stream.__S_CONNECTING: wait = Stream.W_CONNECT - if wait in (Stream.W_CONNECT, Stream.W_SEND): - poller.fd_wait(self.socket, select.POLLOUT) - else: + if wait == Stream.W_RECV: poller.fd_wait(self.socket, select.POLLIN) + else: + poller.fd_wait(self.socket, select.POLLOUT) def connect_wait(self, poller): self.wait(poller, Stream.W_CONNECT) @@ -221,9 +219,6 @@ class Stream(object): def send_wait(self, poller): self.wait(poller, Stream.W_SEND) - def get_name(self): - return self.name - def __del__(self): # Don't delete the file: we might have forked. self.socket.close() @@ -304,7 +299,7 @@ class PassiveStream(object): # Don't delete the file: we might have forked. self.socket.close() -def usage(name, active, passive, bootstrap): +def usage(name, active, passive): print if active: print("Active %s connection methods:" % name)