net.i2p.client.naming
Class EepGetNamingService

java.lang.Object
  extended by net.i2p.client.naming.NamingService
      extended by net.i2p.client.naming.DummyNamingService
          extended by net.i2p.client.naming.EepGetNamingService
Direct Known Subclasses:
EepGetAndAddNamingService

public class EepGetNamingService
extends DummyNamingService

A network-based naming service using HTTP, with in-memory caching. Fetches from one or more remote (in-i2p) CGI services using HTTP GET. The remote HTTP service takes a CGI parameter and must return (only) the 516-byte Base64 destination, or hostname=dest. A trailing \n or \r\n is acceptable. Should be used from MetaNamingService, after HostsTxtNamingService. Cannot be used as the only NamingService! Be sure any naming service hosts are in hosts.txt. Supports caching, b32, and b64. Sample config to put in configadvanced.jsp (restart required): i2p.naming.impl=net.i2p.client.naming.MetaNamingService i2p.nameservicelist=net.i2p.client.naming.HostsTxtNamingService,net.i2p.client.naming.EepGetNamingService i2p.naming.eepget.list=http://namingservice.i2p/cgi-bin/lkup.cgi?host=,http://i2host.i2p/cgi-bin/i2hostquery?


Field Summary
 
Fields inherited from class net.i2p.client.naming.DummyNamingService
BASE32_HASH_LENGTH, CACHE_MAX_SIZE, DEST_SIZE, PROP_B32
 
Fields inherited from class net.i2p.client.naming.NamingService
_context, _listeners, _log, _updaters, PROP_IMPL
 
Constructor Summary
EepGetNamingService(I2PAppContext context)
          The naming service should only be constructed and accessed through the application context.
 
Method Summary
 Destination lookup(String hostname, Properties lookupOptions, Properties storedOptions)
          Same as lookup(hostname) but with in and out options Note that whether this (and lookup(hostname)) resolve B32 addresses is NamingService-specific.
 
Methods inherited from class net.i2p.client.naming.DummyNamingService
clearCache, getCache, putCache, removeCache
 
Methods inherited from class net.i2p.client.naming.NamingService
addNamingService, addNamingService, createInstance, export, export, getBase64Entries, getConfiguration, getEntries, getEntries, getName, getNames, getNames, getNamingServices, getParent, lookup, lookup, lookupBase32, lookupBase64, put, put, putAll, putIfAbsent, putIfAbsent, registerListener, registerUpdater, remove, remove, removeNamingService, requestUpdate, reverseLookup, reverseLookup, reverseLookup, setConfiguration, shutdown, size, size, start, toString, unregisterListener, unregisterUpdater, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EepGetNamingService

public EepGetNamingService(I2PAppContext context)
The naming service should only be constructed and accessed through the application context. This constructor should only be used by the appropriate application context itself.

Method Detail

lookup

public Destination lookup(String hostname,
                          Properties lookupOptions,
                          Properties storedOptions)
Description copied from class: NamingService
Same as lookup(hostname) but with in and out options Note that whether this (and lookup(hostname)) resolve B32 addresses is NamingService-specific.

Overrides:
lookup in class DummyNamingService
Parameters:
hostname - mixed case as it could be a key
lookupOptions - input parameter, NamingService-specific, can be null
storedOptions - output parameter, NamingService-specific, any stored properties will be added if non-null
Returns:
dest or null