## net.i2p.router
Class PersistentKeyRing

    java.lang.Object
      java.util.AbstractMap<K,V>
          java.util.concurrent.ConcurrentHashMap<Hash,SessionKey>
              net.i2p.util.KeyRing
                  net.i2p.router.PersistentKeyRing

All Implemented Interfaces:
  Serializable, ConcurrentMap<Hash,SessionKey>, Map<Hash,SessionKey>

    public class PersistentKeyRing

extends KeyRing

ConcurrentHashMap with backing in the router.config file. router.keyring.key.{base64 hash, with = replaced with $}={base64 session key} Caution - not all HashMap methods are overridden.

See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class java.util.AbstractMap
`AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>`

Nested classes/interfaces inherited from interface java.util.Map
`Map.Entry<K,V>`

Constructor Summary
`PersistentKeyRing(RouterContext ctx)`

Method Summary
`SessionKey` `put(Hash h, SessionKey sk)`
`SessionKey` `remove(Hash h)`
`void` `renderStatusHTML(Writer out)`

Methods inherited from class java.util.concurrent.ConcurrentHashMap
`clear, contains, containsKey, containsValue, elements, entrySet, get, isEmpty, keys, keySet, putAll, putIfAbsent, remove, remove, replace, replace, size, values`

Methods inherited from class java.util.AbstractMap
`clone, equals, hashCode, toString`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.util.Map
`equals, hashCode`

Constructor Detail

### PersistentKeyRing

    public PersistentKeyRing(RouterContext ctx)

Method Detail

### put

    public SessionKey put(Hash h,
                          SessionKey sk)

  Specified by:
    `put` in interface `Map<Hash,SessionKey>`
  Overrides:
    `put` in class `ConcurrentHashMap<Hash,SessionKey>`

### remove

    public SessionKey remove(Hash h)

### renderStatusHTML

    public void renderStatusHTML(Writer out)
                          throws IOException

  Overrides:
    `renderStatusHTML` in class `KeyRing`
  Throws:
    `IOException`