baseimage-tutorial-framework/lib/tfw/networking/solvable_connector.py
2018-02-09 17:37:56 +01:00

22 lines
697 B
Python

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())