package com.limegroup.gnutella.bootstrap; import java.io.IOException; import java.io.Writer; import com.limegroup.gnutella.ExtendedEndpoint; /** * Defines an interface for managing a set of UDP host caches and retrieving * hosts from them. */ public interface UDPHostCache { /** * Writes the set of UHCs to the given stream. */ void write(Writer out) throws IOException; /** * Returns true if the set of UHCs needs to be saved. */ boolean isWriteDirty(); /** * Returns the number of UHCs in the set. */ int getSize(); /** * Attempts to contact some UHCs to retrieve hosts. */ boolean fetchHosts(); /** * Adds a new UHC to the set, returning true if it was added. */ boolean add(ExtendedEndpoint e); }