net.i2p.router
Class NetworkDatabaseFacade
java.lang.Object
net.i2p.router.NetworkDatabaseFacade
- All Implemented Interfaces:
- Service
- Direct Known Subclasses:
- DummyNetworkDatabaseFacade, KademliaNetworkDatabaseFacade
public abstract class NetworkDatabaseFacade
- extends java.lang.Object
- implements Service
Defines the mechanism for interacting with I2P's network database
Method Summary |
abstract void |
fail(Hash dbEntry)
|
abstract java.util.Set |
findNearestRouters(Hash key,
int maxNumRouters,
java.util.Set peersToIgnore)
Return the RouterInfo structures for the routers closest to the given key. |
int |
getKnownLeaseSets()
|
int |
getKnownRouters()
|
abstract void |
lookupLeaseSet(Hash key,
Job onFindJob,
Job onFailedLookupJob,
long timeoutMs)
|
abstract LeaseSet |
lookupLeaseSetLocally(Hash key)
|
abstract void |
lookupRouterInfo(Hash key,
Job onFindJob,
Job onFailedLookupJob,
long timeoutMs)
|
abstract RouterInfo |
lookupRouterInfoLocally(Hash key)
|
abstract void |
publish(LeaseSet localLeaseSet)
|
abstract void |
publish(RouterInfo localRouterInfo)
|
abstract LeaseSet |
store(Hash key,
LeaseSet leaseSet)
return the leaseSet if another leaseSet already existed at that key |
abstract RouterInfo |
store(Hash key,
RouterInfo routerInfo)
return the routerInfo if another router already existed at that key |
abstract void |
unpublish(LeaseSet localLeaseSet)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NetworkDatabaseFacade
public NetworkDatabaseFacade()
findNearestRouters
public abstract java.util.Set findNearestRouters(Hash key,
int maxNumRouters,
java.util.Set peersToIgnore)
- Return the RouterInfo structures for the routers closest to the given key.
At most maxNumRouters will be returned
- Parameters:
key
- The keymaxNumRouters
- The maximum number of routers to returnpeersToIgnore
- Hash of routers not to include
lookupLeaseSet
public abstract void lookupLeaseSet(Hash key,
Job onFindJob,
Job onFailedLookupJob,
long timeoutMs)
lookupLeaseSetLocally
public abstract LeaseSet lookupLeaseSetLocally(Hash key)
lookupRouterInfo
public abstract void lookupRouterInfo(Hash key,
Job onFindJob,
Job onFailedLookupJob,
long timeoutMs)
lookupRouterInfoLocally
public abstract RouterInfo lookupRouterInfoLocally(Hash key)
store
public abstract LeaseSet store(Hash key,
LeaseSet leaseSet)
throws java.lang.IllegalArgumentException
- return the leaseSet if another leaseSet already existed at that key
- Throws:
java.lang.IllegalArgumentException
- if the data is not valid
store
public abstract RouterInfo store(Hash key,
RouterInfo routerInfo)
throws java.lang.IllegalArgumentException
- return the routerInfo if another router already existed at that key
- Throws:
java.lang.IllegalArgumentException
- if the data is not valid
publish
public abstract void publish(RouterInfo localRouterInfo)
throws java.lang.IllegalArgumentException
- Throws:
java.lang.IllegalArgumentException
- if the local router is not valid
publish
public abstract void publish(LeaseSet localLeaseSet)
unpublish
public abstract void unpublish(LeaseSet localLeaseSet)
fail
public abstract void fail(Hash dbEntry)
getKnownRouters
public int getKnownRouters()
getKnownLeaseSets
public int getKnownLeaseSets()