## net.i2p.router.peermanager
Class PeerManagerFacadeImpl

    java.lang.Object
      net.i2p.router.peermanager.PeerManagerFacadeImpl

All Implemented Interfaces:
  PeerManagerFacade, Service

public class PeerManagerFacadeImpl
extends java.lang.Object
implements PeerManagerFacade

Base implementation that has simple algorithms and periodically saves state

Constructor Summary
`PeerManagerFacadeImpl(RouterContext ctx)`

Method Summary
`java.util.List` `getPeersByCapability(char capability)`
`void` `removeCapabilities(Hash peer)`
`void` `renderStatusHTML(java.io.Writer out)`
`void` `restart()` Perform a soft restart.
`java.util.List` `selectPeers(PeerSelectionCriteria criteria)` Select peers from the manager's existing routing tables according to the specified criteria.
`Hash` `selectRandomByCapability(char capability)`
`void` `setCapabilities(Hash peer, java.lang.String caps)`
`void` `shutdown()` Instruct the service that the router is shutting down and that it should do whatever is necessary to go down gracefully.
`void` `startup()` Instruct the service that it should start normal operation.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PeerManagerFacadeImpl

    public PeerManagerFacadeImpl(RouterContext ctx)

Method Detail

### startup

    public void startup()

  Description copied from interface: `Service`
  Instruct the service that it should start normal operation. This call DOES block until the service is ready.

  Specified by:
    `startup` in interface `Service`

### shutdown

    public void shutdown()

  Description copied from interface: `Service`
  Instruct the service that the router is shutting down and that it should do whatever is necessary to go down gracefully. It should not depend on other components at this point. This call DOES block.

  Specified by:
    `shutdown` in interface `Service`

### restart

    public void restart()

  Description copied from interface: `Service`
  Perform a soft restart.

  Specified by:
    `restart` in interface `Service`

### selectPeers

    public java.util.List selectPeers(PeerSelectionCriteria criteria)

  Description copied from interface: `PeerManagerFacade`
  Select peers from the manager's existing routing tables according to the specified criteria. This call DOES block.

  Specified by:
    `selectPeers` in interface `PeerManagerFacade`
  Returns:
    List of Hash objects of the RouterIdentity for matching peers

### setCapabilities

    public void setCapabilities(Hash peer,
                                java.lang.String caps)

  Specified by:
    `setCapabilities` in interface `PeerManagerFacade`

### removeCapabilities

    public void removeCapabilities(Hash peer)

  Specified by:
    `removeCapabilities` in interface `PeerManagerFacade`

### selectRandomByCapability

    public Hash selectRandomByCapability(char capability)

  Specified by:
    `selectRandomByCapability` in interface `PeerManagerFacade`

### getPeersByCapability

    public java.util.List getPeersByCapability(char capability)

  Specified by:
    `getPeersByCapability` in interface `PeerManagerFacade`

### renderStatusHTML

    public void renderStatusHTML(java.io.Writer out)
                          throws java.io.IOException

  Specified by:
    `renderStatusHTML` in interface `Service`
  Throws:
    `java.io.IOException`