public class PersistentDataStore extends TransientDataStore
Modifier and Type | Class and Description |
---|---|
(package private) static class |
PersistentDataStore.RouterInfoFilter |
Modifier and Type | Field and Description |
---|---|
(package private) static String |
DIR_PREFIX |
_context, _log
Constructor and Description |
---|
PersistentDataStore(RouterContext ctx,
String dbDir,
KademliaNetworkDatabaseFacade facade) |
Modifier and Type | Method and Description |
---|---|
DatabaseEntry |
get(Hash key) |
DatabaseEntry |
get(Hash key,
boolean persist)
Prepare for having only a partial set in memory and the rest on disk
|
static File |
getRouterInfoFile(RouterContext ctx,
Hash hash)
The persistent RI file for a hash.
|
(package private) static Hash |
getRouterInfoHash(String filename)
Package private for installer BundleRouterInfos
|
boolean |
isInitialized() |
boolean |
put(Hash key,
DatabaseEntry data) |
boolean |
put(Hash key,
DatabaseEntry data,
boolean persist)
for PersistentDataStore only - don't use here
|
DatabaseEntry |
remove(Hash key) |
DatabaseEntry |
remove(Hash key,
boolean persist)
for PersistentDataStore only - don't use here
|
void |
rescan() |
void |
restart() |
void |
stop() |
countLeaseSets, getEntries, getKeys, getMapEntries, isKnown, size, toString
static final String DIR_PREFIX
public PersistentDataStore(RouterContext ctx, String dbDir, KademliaNetworkDatabaseFacade facade) throws IOException
dbDir
- relative pathIOException
public boolean isInitialized()
isInitialized
in interface DataStore
isInitialized
in class TransientDataStore
public void stop()
stop
in interface DataStore
stop
in class TransientDataStore
public void restart()
restart
in interface DataStore
restart
in class TransientDataStore
public void rescan()
rescan
in interface DataStore
rescan
in class TransientDataStore
public DatabaseEntry get(Hash key)
get
in interface DataStore
get
in class TransientDataStore
public DatabaseEntry get(Hash key, boolean persist)
get
in interface DataStore
get
in class TransientDataStore
persist
- if false, call super only, don't access diskpublic DatabaseEntry remove(Hash key)
remove
in interface DataStore
remove
in class TransientDataStore
public DatabaseEntry remove(Hash key, boolean persist)
TransientDataStore
remove
in interface DataStore
remove
in class TransientDataStore
public boolean put(Hash key, DatabaseEntry data)
put
in interface DataStore
put
in class TransientDataStore
data
- must be validated before herepublic boolean put(Hash key, DatabaseEntry data, boolean persist)
TransientDataStore
put
in interface DataStore
put
in class TransientDataStore
public static File getRouterInfoFile(RouterContext ctx, Hash hash)