Class HostsTxtNamingService


public class HostsTxtNamingService
extends MetaNamingService
A naming service based on multiple "hosts.txt" files. Supports .b32.i2p and {b64} lookups. Supports caching. All host names are converted to lower case.
  • Field Details

  • Constructor Details

    • HostsTxtNamingService

      public HostsTxtNamingService​(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 Details

    • 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 Base 32 addresses in the form {52 chars}.b32.i2p is NamingService-specific.
      Overrides:
      lookup in class MetaNamingService
      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
    • put

      public boolean put​(String hostname, Destination d, Properties options)
      Description copied from class: MetaNamingService
      Stores in the last service
      Overrides:
      put in class MetaNamingService
      options - NamingService-specific, can be null
      Returns:
      success
    • putIfAbsent

      public boolean putIfAbsent​(String hostname, Destination d, Properties options)
      Description copied from class: MetaNamingService
      Stores in the last service
      Overrides:
      putIfAbsent in class MetaNamingService
      options - NamingService-specific, can be null
      Returns:
      success
    • remove

      public boolean remove​(String hostname, Properties options)
      Description copied from class: MetaNamingService
      Removes from all services
      Overrides:
      remove in class MetaNamingService
      options - NamingService-specific, can be null
      Returns:
      true if removed successfully, false on error or if it did not exist
    • getNames

      public Set<String> getNames​(Properties options)
      All services aggregated, unless options contains the property "file", in which case only for that file
      Overrides:
      getNames in class MetaNamingService
      Parameters:
      options - NamingService-specific, can be null
      Returns:
      all known host names (matching the options if non-null) or empty Set if none; Returned Set is not necessarily sorted, implementation dependent