From 27376ada2220b6cd94633d0c458fe14d137c67ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C3=A1lint=20Bokros?= Date: Thu, 8 Feb 2018 15:00:16 +0100 Subject: [PATCH] Create initial version of SolvableConnector --- lib/tfw/networking/solvable_connector.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 lib/tfw/networking/solvable_connector.py diff --git a/lib/tfw/networking/solvable_connector.py b/lib/tfw/networking/solvable_connector.py new file mode 100644 index 0000000..d7f0425 --- /dev/null +++ b/lib/tfw/networking/solvable_connector.py @@ -0,0 +1,21 @@ +import zmq +from zmq.eventloop import ioloop + +from tfw.config import CONTROLLER_PORT +from tfw.util import ZMQConnectorBase +from tfw.networking.serialization import serialize_all, deserialize_all + +ioloop.install() + + +class SolvableConnector(ZMQConnectorBase): + def __init__(self, zmq_context=None): + super(SolvableConnector, self).__init__(zmq_context) + self._zmq_req_socket = self._zmq_context.socket(zmq.REQ) + self._zmq_req_socket.bind('tcp://*:{}'.format(CONTROLLER_PORT)) + + def send(self, key, message): + self._zmq_req_socket.send_multipart(serialize_all(key, message)) + + def recv(self): + return deserialize_all(*self._zmq_req_socket.recv_multipart())