public class PersistentDataStore extends TransientDataStore
Modifier and Type | Field and Description |
---|---|
(package private) static String |
DIR_PREFIX |
static FileFilter |
RI_FILTER |
_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 |
stop() |
countLeaseSets, getEntries, getKeys, getMapEntries, isKnown, size, toString
static final String DIR_PREFIX
public static final FileFilter RI_FILTER
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 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)