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 Object
    implements Service

Defines the mechanism for interacting with I2P's network database

### Constructor Summary

Constructors
Constructor and Description
`NetworkDatabaseFacade()`

### Method Summary

Methods
`abstract void` `fail(Hash dbEntry)`
`abstract Set<Hash>` `findNearestRouters(Hash key, int maxNumRouters, Set<Hash> peersToIgnore)` Return the RouterInfo structures for the routers closest to the given key.
`abstract Set<Hash>` `getAllRouters()`
`int` `getKnownLeaseSets()`
`int` `getKnownRouters()`
`Set<LeaseSet>` `getLeases()` public for NetDbRenderer in routerconsole
`Set<RouterInfo>` `getRouters()` public for NetDbRenderer in routerconsole
`boolean` `isInitialized()`
`abstract void` `lookupLeaseSet(Hash key, Job onFindJob, Job onFailedLookupJob, long timeoutMs)`
`abstract LeaseSet` `lookupLeaseSetLocally(Hash key)`
`abstract DatabaseEntry` `lookupLocally(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)`
`void` `renderStatusHTML(Writer out)` Deprecated. moved to router console
`void` `rescan()`
`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`

### Methods inherited from interface net.i2p.router.Service

`restart, shutdown, startup`

### Constructor Detail

#### NetworkDatabaseFacade

    public NetworkDatabaseFacade()

### Method Detail

#### findNearestRouters

    public abstract Set<Hash> findNearestRouters(Hash key,
                               int maxNumRouters,
                               Set<Hash> peersToIgnore)

Return the RouterInfo structures for the routers closest to the given key. At most maxNumRouters will be returned

Parameters:
  `key` - The key
  `maxNumRouters` - The maximum number of routers to return
  `peersToIgnore` - Hash of routers not to include

#### lookupLocally

    public abstract DatabaseEntry lookupLocally(Hash key)

Returns:
  RouterInfo, LeaseSet, or null
Since:
  0.8.3

#### 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 IllegalArgumentException

return the leaseSet if another leaseSet already existed at that key

Throws:
  `IllegalArgumentException` - if the data is not valid

#### store

    public abstract RouterInfo store(Hash key,
                   RouterInfo routerInfo)
                              throws IllegalArgumentException

return the routerInfo if another router already existed at that key

Throws:
  `IllegalArgumentException` - if the data is not valid

#### publish

    public abstract void publish(RouterInfo localRouterInfo)
                          throws IllegalArgumentException

Throws:
  `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)

#### getAllRouters

    public abstract Set<Hash> getAllRouters()

#### getKnownRouters

    public int getKnownRouters()

#### getKnownLeaseSets

    public int getKnownLeaseSets()

#### isInitialized

    public boolean isInitialized()

#### rescan

    public void rescan()

#### renderStatusHTML

    public void renderStatusHTML(Writer out)
                          throws IOException

Deprecated. moved to router console

Specified by:
  `renderStatusHTML` in interface `Service`
Throws:
  `IOException`

#### getLeases

    public Set<LeaseSet> getLeases()

public for NetDbRenderer in routerconsole

#### getRouters

    public Set<RouterInfo> getRouters()

public for NetDbRenderer in routerconsole