package com.limegroup.gnutella.dht; import java.net.SocketAddress; /** * Bootstraps this DHT node to the network. */ interface DHTBootstrapper { /** * Bootstraps this node to the network. */ public void bootstrap(); /** * Adds a host to the list of bootstrap hosts * used to bootstrap to the network * * @param hostAddress the <tt>SocketAddress</tt> of the bootstrap host */ public void addBootstrapHost(SocketAddress hostAddress); /** * If the bootstrapper is waiting for nodes, pings this host * in order to acquire DHT bootstrap hosts * * @param hostAddress the <tt>SocketAddress</tt> of the host to ping */ public void addPassiveNode (SocketAddress hostAddress); /** * Stops the bootstrap process */ public void stop(); /** * Returns whether or not the bootstrapper is waiting for * nodes to bootstrap from. */ public boolean isWaitingForNodes(); }