docs: def connect(self):
          """Create new connection unless we already have one."""
          if not getattr(self._local, 'conn', None):
              try:
                  server = self._servers.get()
                  logger.debug('Connecting to %s', server)
                  self._local.conn = ClientTransport(server, self._framed_transport,
                      self._timeout, self._recycle)
              except (Thrift.TException, socket.timeout, socket.error):
                  logger.warning('Connection to %s failed.', server)
                  self._servers.mark_dead(server)
                  return self.connect()
          return self._local.conn