public final class SeedDB extends java.lang.Object implements AlternativeDomainNames
Modifier and Type | Class and Description |
---|---|
private class |
SeedDB.seedEnum |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DBFILE_OWN_SEED
public static final String DBFILE_OWN_SEED = "mySeed.txt" |
private static int |
dhtActivityMagic |
static java.lang.String[] |
doubleaccFields |
protected java.lang.String |
lastSeedUpload_myIP |
protected int |
lastSeedUpload_seedDBSize |
long |
lastSeedUpload_timeStamp |
static java.lang.String[] |
longaccFields |
private java.io.File |
myOwnSeedFile |
private Seed |
mySeed |
private int |
netRedundancy |
NewsPool |
newsPool |
PeerActions |
peerActions |
Distribution |
scheme |
private MapDataMining |
seedActiveDB |
private java.io.File |
seedActiveDBFile |
private MapDataMining |
seedPassiveDB |
private java.io.File |
seedPassiveDBFile |
private MapDataMining |
seedPotentialDB |
private java.io.File |
seedPotentialDBFile |
static java.lang.String[] |
sortFields |
Constructor and Description |
---|
SeedDB(java.io.File networkRoot,
java.lang.String seedActiveDBFileName,
java.lang.String seedPassiveDBFileName,
java.lang.String seedPotentialDBFileName,
java.io.File myOwnSeedFile,
int redundancy,
int partitionExponent,
boolean useTailCache,
boolean exceed134217727) |
Modifier and Type | Method and Description |
---|---|
void |
addConnected(Seed seed) |
protected void |
addDisconnected(Seed seed) |
protected void |
addPotential(Seed seed) |
Seed |
anySeedVersion(double minVersion) |
private static java.lang.String |
checkCache(java.util.ArrayList<java.lang.String> uv,
java.util.Iterator<java.lang.String> check) |
void |
close() |
java.util.TreeSet<byte[]> |
clusterHashes(java.lang.String clusterdefinition) |
long |
countActivePPM() |
float |
countActiveQPM() |
long |
countActiveRWI() |
long |
countActiveURL() |
long |
countPassiveRWI() |
long |
countPassiveURL() |
long |
countPotentialRWI() |
long |
countPotentialURL() |
private static java.util.Iterator<java.lang.String> |
downloadSeedFile(DigestURL seedURL) |
private Seed |
get(byte[] hash,
MapDataMining database) |
Seed |
get(java.lang.String hash) |
private Seed |
get(java.lang.String hash,
MapDataMining database) |
Seed |
getConnected(byte[] hash) |
Seed |
getConnected(java.lang.String hash) |
Seed |
getDisconnected(byte[] hash) |
Seed |
getDisconnected(java.lang.String hash) |
Seed |
getPotential(byte[] hash) |
Seed |
getPotential(java.lang.String hash) |
java.util.ArrayList<Seed> |
getSeedlist(int maxcount,
boolean addMySeed,
boolean nodeonly,
float minversion) |
boolean |
hasConnected(byte[] hash) |
boolean |
hasDisconnected(byte[] hash) |
boolean |
hasPotential(byte[] hash) |
private void |
initMySeed() |
Seed |
lookupByIP(java.net.InetAddress peerIP,
int port,
boolean lookupConnected,
boolean lookupDisconnected,
boolean lookupPotential) |
Seed |
lookupByIPs(java.util.Set<java.lang.String> peerIPs,
int port,
boolean lookupConnected,
boolean lookupDisconnected,
boolean lookupPotential) |
Seed |
lookupByName(java.lang.String peerName) |
java.lang.String |
myAlternativeAddress()
while other servers may have alternative addresses, this server may also have an alternative
address
|
java.lang.String |
myID()
return an unique ID of this server
|
java.lang.String |
myIP()
Deprecated.
|
java.util.Set<java.lang.String> |
myIPs()
return a set of IPs of this server
|
java.lang.String |
myName()
return a name of this server.
|
int |
myPort()
return the port of my server address
|
Seed |
mySeed() |
boolean |
mySeedIsDefined() |
boolean |
noDHTActivity() |
private static MapDataMining |
openSeedTable(java.io.File seedDBFile) |
int |
redundancy() |
void |
relocate(java.io.File newNetworkRoot,
int redundancy,
int partitionExponent,
boolean useTailCache,
boolean exceed134217727) |
void |
removeDisconnected(java.lang.String peerHash) |
void |
removeMySeed() |
void |
removePotential(java.lang.String peerHash) |
void |
resetActiveTable() |
private void |
resetPassiveTable() |
private void |
resetPotentialTable() |
private MapDataMining |
resetSeedTable(MapDataMining seedDB,
java.io.File seedDBFile) |
java.lang.String |
resolve(java.lang.String host)
resolve a yacy address
|
void |
saveMySeed() |
java.util.Iterator<Seed> |
seedsConnected(boolean up,
boolean rot,
byte[] firstHash,
double minVersion) |
java.util.Iterator<Seed> |
seedsDisconnected(boolean up,
boolean rot,
byte[] firstHash,
double minVersion) |
java.util.Iterator<Seed> |
seedsSortedConnected(boolean up,
java.lang.String field) |
java.util.Iterator<Seed> |
seedsSortedDisconnected(boolean up,
java.lang.String field) |
java.util.Iterator<Seed> |
seedsSortedPotential(boolean up,
java.lang.String field) |
void |
setMyName(java.lang.String name) |
int |
sizeActiveSince(long limitMinutes)
count the number of peers that had been seen within the given time limit
|
int |
sizeConnected() |
int |
sizeDisconnected() |
int |
sizePotential() |
private java.util.ArrayList<java.lang.String> |
storeSeedList(java.io.File seedFile,
boolean addMySeed) |
void |
updateConnected(Seed seed) |
void |
updateDisconnected(Seed seed) |
void |
updatePotential(Seed seed) |
protected java.lang.String |
uploadSeedList(yacySeedUploader uploader,
serverSwitch sb,
SeedDB seedDB,
DigestURL seedURL) |
private static final int dhtActivityMagic
public static final java.lang.String DBFILE_OWN_SEED
public static final String DBFILE_OWN_SEED = "mySeed.txt"
Name of the file containing the database holding this peer's seed
public static final java.lang.String[] sortFields
public static final java.lang.String[] longaccFields
public static final java.lang.String[] doubleaccFields
private java.io.File seedActiveDBFile
private java.io.File seedPassiveDBFile
private java.io.File seedPotentialDBFile
private java.io.File myOwnSeedFile
private MapDataMining seedActiveDB
private MapDataMining seedPassiveDB
private MapDataMining seedPotentialDB
protected int lastSeedUpload_seedDBSize
public long lastSeedUpload_timeStamp
protected java.lang.String lastSeedUpload_myIP
public PeerActions peerActions
public NewsPool newsPool
private int netRedundancy
public Distribution scheme
private Seed mySeed
public SeedDB(java.io.File networkRoot, java.lang.String seedActiveDBFileName, java.lang.String seedPassiveDBFileName, java.lang.String seedPotentialDBFileName, java.io.File myOwnSeedFile, int redundancy, int partitionExponent, boolean useTailCache, boolean exceed134217727)
public void relocate(java.io.File newNetworkRoot, int redundancy, int partitionExponent, boolean useTailCache, boolean exceed134217727)
private void initMySeed()
public int redundancy()
public boolean mySeedIsDefined()
public Seed mySeed()
public void setMyName(java.lang.String name)
public java.lang.String myAlternativeAddress()
AlternativeDomainNames
myAlternativeAddress
in interface AlternativeDomainNames
@Deprecated public java.lang.String myIP()
public java.util.Set<java.lang.String> myIPs()
AlternativeDomainNames
myIPs
in interface AlternativeDomainNames
public int myPort()
AlternativeDomainNames
myPort
in interface AlternativeDomainNames
public java.lang.String myName()
AlternativeDomainNames
myName
in interface AlternativeDomainNames
public java.lang.String myID()
AlternativeDomainNames
myID
in interface AlternativeDomainNames
public void removeMySeed()
public void saveMySeed()
public boolean noDHTActivity()
private static MapDataMining openSeedTable(java.io.File seedDBFile)
private MapDataMining resetSeedTable(MapDataMining seedDB, java.io.File seedDBFile)
public void resetActiveTable()
private void resetPassiveTable()
private void resetPotentialTable()
public void close()
public java.util.Iterator<Seed> seedsSortedConnected(boolean up, java.lang.String field)
public java.util.Iterator<Seed> seedsSortedDisconnected(boolean up, java.lang.String field)
public java.util.Iterator<Seed> seedsSortedPotential(boolean up, java.lang.String field)
public java.util.TreeSet<byte[]> clusterHashes(java.lang.String clusterdefinition)
public java.util.Iterator<Seed> seedsConnected(boolean up, boolean rot, byte[] firstHash, double minVersion)
public java.util.Iterator<Seed> seedsDisconnected(boolean up, boolean rot, byte[] firstHash, double minVersion)
public Seed anySeedVersion(double minVersion)
public int sizeActiveSince(long limitMinutes)
limitMinutes
- the time limit in minutes. 1440 minutes is a daypublic int sizeConnected()
public int sizeDisconnected()
public int sizePotential()
public long countActiveURL()
public long countActiveRWI()
public long countActivePPM()
public float countActiveQPM()
public long countPassiveURL()
public long countPassiveRWI()
public long countPotentialURL()
public long countPotentialRWI()
public void addConnected(Seed seed)
protected void addDisconnected(Seed seed)
protected void addPotential(Seed seed)
public void removeDisconnected(java.lang.String peerHash)
public void removePotential(java.lang.String peerHash)
public boolean hasConnected(byte[] hash)
public boolean hasDisconnected(byte[] hash)
public boolean hasPotential(byte[] hash)
private Seed get(java.lang.String hash, MapDataMining database)
private Seed get(byte[] hash, MapDataMining database)
public Seed getConnected(java.lang.String hash)
public Seed getConnected(byte[] hash)
public Seed getDisconnected(java.lang.String hash)
public Seed getDisconnected(byte[] hash)
public Seed getPotential(java.lang.String hash)
public Seed getPotential(byte[] hash)
public Seed get(java.lang.String hash)
public void updateConnected(Seed seed)
public void updateDisconnected(Seed seed)
public void updatePotential(Seed seed)
public Seed lookupByName(java.lang.String peerName)
public Seed lookupByIPs(java.util.Set<java.lang.String> peerIPs, int port, boolean lookupConnected, boolean lookupDisconnected, boolean lookupPotential)
public Seed lookupByIP(java.net.InetAddress peerIP, int port, boolean lookupConnected, boolean lookupDisconnected, boolean lookupPotential)
private java.util.ArrayList<java.lang.String> storeSeedList(java.io.File seedFile, boolean addMySeed) throws java.io.IOException
java.io.IOException
public java.util.ArrayList<Seed> getSeedlist(int maxcount, boolean addMySeed, boolean nodeonly, float minversion)
protected java.lang.String uploadSeedList(yacySeedUploader uploader, serverSwitch sb, SeedDB seedDB, DigestURL seedURL) throws java.lang.Exception
java.lang.Exception
private static java.util.Iterator<java.lang.String> downloadSeedFile(DigestURL seedURL) throws java.io.IOException
java.io.IOException
private static java.lang.String checkCache(java.util.ArrayList<java.lang.String> uv, java.util.Iterator<java.lang.String> check)
public java.lang.String resolve(java.lang.String host)
resolve
in interface AlternativeDomainNames