code: def get_connection(self, command, args=()):
          
          # TODO: find a better way to determine if connection is free
          #       and not havily used.
          command = command.upper().strip()
          is_pubsub = command in _PUBSUB_COMMANDS
          if is_pubsub and self._pubsub_conn:
              if not self._pubsub_conn.closed:
                  return self._pubsub_conn, self._pubsub_conn.address
              self._pubsub_conn = None
          for i in range(self.freesize):
              conn = self._pool[0]
              self._pool.rotate(1)
              if conn.closed:  # or conn._waiters: (eg: busy connection)
                  continue
              if conn.in_pubsub:
                  continue
              if is_pubsub:
                  self._pubsub_conn = conn
                  self._pool.remove(conn)
                  self._used.add(conn)
              return conn, conn.address
          return None, self._address
docs: Get free connection from pool.
  
          Returns connection.