Try to connect for the rest of time!

def _connect(self):
        '''
        Try to connect for the rest of time!
        '''
        while True:
            if self._closing:
                break
            try:
                kwargs = {}
                if self.source_ip or self.source_port:
                    if tornado.version_info >= (4, 5):
                        ### source_ip and source_port are supported only in Tornado >= 4.5
                        # See http://www.tornadoweb.org/en/stable/releases/v4.5.0.html
                        # Otherwise will just ignore these args
                        kwargs = {'source_ip': self.source_ip,
                                  'source_port': self.source_port}
                    else:
                        log.warning('If you need a certain source IP/port, consider upgrading Tornado >= 4.5')
                with salt.utils.asynchronous.current_ioloop(self.io_loop):
                    self._stream = yield self._tcp_client.connect(self.host,
                                                                  self.port,
                                                                  ssl_options=self.opts.get('ssl'),
                                                                  **kwargs)
                self._connecting_future.set_result(True)
                break
            except Exception as e:
                yield tornado.gen.sleep(1)