class ZmqProxyRep2Pub(ZmqReceiver): # Note, at the moment username/password only protects the REQ-REP socket connection def __init__(self, zmq_rep_bind_address, zmq_pub_bind_address, recreate_sockets_on_timeout_of_sec=600, username_rep=None, password_rep=None, username_pub=None, password_pub=None): ZmqReceiver.__init__(self, zmq_rep_bind_address=zmq_rep_bind_address, recreate_sockets_on_timeout_of_sec=recreate_sockets_on_timeout_of_sec, username=username_rep, password=password_rep) self.sender = ZmqSender(zmq_req_endpoints=None, zmq_pub_endpoint=zmq_pub_bind_address, username=username_pub, password=password_pub) def handle_incoming_message(self, message): try: self.sender.send(message, time_out_waiting_for_response_in_sec=60) # Pub socket does not provide response message, so return OK message return self.create_response_message(200, "OK", None) except Exception as e: return self.create_response_message(status_code=400, status_message="Error", response_message=e)
class ZmqProxySub2Pub(ZmqReceiver): # Note, at the moment username/password only protects the REQ-REP socket connection def __init__(self, zmq_sub_connect_addresses, zmq_pub_bind_address, recreate_sockets_on_timeout_of_sec=600, username_sub=None, password_sub=None, username_pub=None, password_pub=None): ZmqReceiver.__init__(self, zmq_sub_connect_addresses=zmq_sub_connect_addresses, recreate_sockets_on_timeout_of_sec=recreate_sockets_on_timeout_of_sec, username=username_sub, password=password_sub) self.sender = ZmqSender(zmq_pub_endpoint=zmq_pub_bind_address, username=username_pub, password=username_pub) def handle_incoming_message(self, message): # We don't care for the response, since we cannot pass it back via the pub socket or we got none from a pub socket try: self.sender.send(message, time_out_waiting_for_response_in_sec=60) except Exception as e: logger.error(e) return None
class ZmqProxyRep2Req(ZmqReceiver): # Note, at the moment username/password only protects the REQ-REP socket connection def __init__(self, zmq_rep_bind_address, zmq_req_connect_addresses, recreate_sockets_on_timeout_of_sec=600, username_rep=None, password_rep=None, username_req=None, password_req=None): ZmqReceiver.__init__(self, zmq_rep_bind_address=zmq_rep_bind_address, recreate_sockets_on_timeout_of_sec=recreate_sockets_on_timeout_of_sec, username=username_rep, password=password_rep) self.sender = ZmqSender(zmq_req_endpoints=zmq_req_connect_addresses, username=username_req, password=password_req) def handle_incoming_message(self, message): # Pass on the response from the forwarding socket. try: response_message = self.sender.send(message, time_out_waiting_for_response_in_sec=60) return self.create_response_message(status_code=200, status_message="OK", response_message=response_message) except Exception as e: return self.create_response_message(status_code=400, status_message="Error", response_message=e)
def __init__(self, zmq_rep_bind_address, zmq_req_connect_addresses, recreate_sockets_on_timeout_of_sec=600, username_rep=None, password_rep=None, username_req=None, password_req=None): ZmqReceiver.__init__(self, zmq_rep_bind_address=zmq_rep_bind_address, recreate_sockets_on_timeout_of_sec=recreate_sockets_on_timeout_of_sec, username=username_rep, password=password_rep) self.sender = ZmqSender(zmq_req_endpoints=zmq_req_connect_addresses, username=username_req, password=password_req)
def __init__(self, zmq_sub_connect_addresses, zmq_pub_bind_address, recreate_sockets_on_timeout_of_sec=600, username_sub=None, password_sub=None, username_pub=None, password_pub=None): ZmqReceiver.__init__(self, zmq_sub_connect_addresses=zmq_sub_connect_addresses, recreate_sockets_on_timeout_of_sec=recreate_sockets_on_timeout_of_sec, username=username_sub, password=password_sub) self.sender = ZmqSender(zmq_pub_endpoint=zmq_pub_bind_address, username=username_pub, password=username_pub)
def __init__(self, zmq_req_endpoints=None, zmq_pub_endpoint=None, username=None, password=None): ZmqSender.__init__(self, zmq_req_endpoints, zmq_pub_endpoint, username, password)