def __init__(self, parent, hostname, port, ssh_tunnel=None): QtCore.QObject.__init__(self, parent) self._hostname = hostname self._port = port self._ssh_tunnel = ssh_tunnel self.connected = False self._plotdata = {} self._subscribed_titles = {} self._recorded_titles = {} self._recorder = None self._data_socket = ZmqSocket(SUB, self) self.conf = {} self._group_structure = {None: []} try: self._connect() self.connected = True self._get_data_port() self.titles = None self.data_type = None except (RuntimeError, zmq.error.ZMQError): QtGui.QMessageBox.warning(self.parent(), "Connection failed!", "Could not connect to %s" % self.name()) raise
def _connect(self): """Connect to the configured backend""" self._ctrl_socket = ZmqSocket(REQ) addr = "tcp://%s:%d" % (self._hostname, self._port) self._ctrl_socket.ready_read.connect(self._get_request_reply) self._ctrl_socket.connect_socket(addr, self._ssh_tunnel)