void tryReconnectingImmediately(final Function<Host, Boolean> reconnect) {
        // only do a connection re-attempt if one is not already in progress
        if (retryInProgress.compareAndSet(Boolean.FALSE, Boolean.TRUE)) {
            retryThread = this.cluster.hostScheduler().scheduleAtFixedRate(() -> {
                        logger.debug("Trying to reconnect to host at {}", this);
                        final boolean reconnected = reconnect.apply(this);
                        if (reconnected)
                            reconnected();
                        else {
                            logger.warn("Marking {} as unavailable. Trying to reconnect.", this);
                            isAvailable = false;
                        }
                    }, 0,
                    cluster.connectionPoolSettings().reconnectInterval, TimeUnit.MILLISECONDS);
        }
    }
Identifies a server within the {@link Cluster} at a specific address.

@author Stephen Mallette (http://stephen.genoprime.com)
gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Host.java