package com.limegroup.gnutella.dht; import java.net.SocketAddress; import java.util.List; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import org.limewire.mojito.db.DHTValueFactory; import org.limewire.mojito.db.StorableModel; import org.limewire.mojito.io.MessageDispatcherFactory; import org.limewire.security.MACCalculatorRepositoryManager; import org.limewire.security.SecurityToken; import com.limegroup.gnutella.connection.RoutedConnection; /* TODO: This really isn't the best name for the object, but I don't know what'd be right. */ public interface DHTControllerFacade { MessageDispatcherFactory getMessageDispatcherFactory(); DHTValueFactory getAltLocValueFactory(); DHTValueFactory getPushProxyValueFactory(); StorableModel getAltLocModel(); boolean isActiveSupernode(); List<RoutedConnection> getInitializedClientConnections(); boolean isConnected(); byte[] getAddress(); int getPort(); void updateCapabilities(); void sendUpdatedCapabilities(); ScheduledFuture<?> scheduleWithFixedDelay(Runnable runner, long initialDelay, long delay, TimeUnit milliseconds); boolean allow(SocketAddress addr); void reloadIPFilter(); DHTBootstrapper getDHTBootstrapper(DHTController dhtController); SecurityToken.TokenProvider getSecurityTokenProvider(); MACCalculatorRepositoryManager getMACCalculatorRespositoryManager(); }