com.subgraph.orchid.DirectoryDownloader Maven / Gradle / Ivy
package com.subgraph.orchid;
import java.util.List;
import java.util.Set;
import com.subgraph.orchid.ConsensusDocument.RequiredCertificate;
import com.subgraph.orchid.data.HexDigest;
import com.subgraph.orchid.directory.downloader.DirectoryRequestFailedException;
public interface DirectoryDownloader {
void start(Directory directory);
void stop();
RouterDescriptor downloadBridgeDescriptor(Router bridge) throws DirectoryRequestFailedException;
ConsensusDocument downloadCurrentConsensus(boolean useMicrodescriptors) throws DirectoryRequestFailedException;
ConsensusDocument downloadCurrentConsensus(boolean useMicrodescriptors, DirectoryCircuit circuit) throws DirectoryRequestFailedException;
List downloadKeyCertificates(Set required) throws DirectoryRequestFailedException;
List downloadKeyCertificates(Set required, DirectoryCircuit circuit) throws DirectoryRequestFailedException;
List downloadRouterDescriptors(Set fingerprints) throws DirectoryRequestFailedException;
List downloadRouterDescriptors(Set fingerprints, DirectoryCircuit circuit) throws DirectoryRequestFailedException;
List downloadRouterMicrodescriptors(Set fingerprints) throws DirectoryRequestFailedException;
List downloadRouterMicrodescriptors(Set fingerprints, DirectoryCircuit circuit) throws DirectoryRequestFailedException;
}