def __init__(self, true_io_worker): self.true_io_worker = true_io_worker self.client_info = true_io_worker.socket.getsockname() self.json_worker = JSONIOWorker(true_io_worker, on_json_received=self._on_receive) self.id2socket = {} self.log = logging.getLogger("sockdemux")
def __init__(self, create_io_worker): super(OVSControllerPatchPanel, self).__init__(create_io_worker) # Boot up POX. args = str( """./pox.py openflow.of_01 --address=127.0.0.1 --port=%d""" """ messenger.messenger --tcp_address=127.0.0.1 --tcp_port=%d """ """ sts_of_forwarder.sts_of_forwarder """ % (self.of_port, self.messenger_port)).split() self.pox = subprocess.Popen(args, cwd="./pox/", preexec_fn=lambda: os.setsid()) # Establish connection with POX messenger component. true_socket = connect_socket_with_backoff(address="127.0.0.1", port=self.messenger_port) self.json_worker = JSONIOWorker(create_io_worker(true_socket)) # Send the handshake. self.json_worker.send({"sts_connection": ""}) self._initialize_switch()
def __init__(self, io_master, socket): self.io_master = io_master self.io_worker = JSONIOWorker(self.io_master.create_worker_for_socket(socket))