net.i2p.router.dummy

## Class DummyClientManagerFacade

- java.lang.Object
- - net.i2p.router.ClientManagerFacade
  - - net.i2p.router.dummy.DummyClientManagerFacade

- All Implemented Interfaces:
    Service

      public class DummyClientManagerFacade
      extends ClientManagerFacade

  Manage all interactions with clients

- - ### Field Summary

    - ### Fields inherited from class net.i2p.router.ClientManagerFacade

      `PROP_CLIENT_ONLY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DummyClientManagerFacade(RouterContext ctx)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `FloodfillNetworkDatabaseFacade` | `getClientFloodfillNetworkDatabaseFacade(Hash dbid)` get the FloodfillNetworkDatabaseFacade associated with a particular client destination.
    `SessionConfig` | `getClientSessionConfig(Destination _dest)` Return the client's current config, or null if not connected
    `SessionKeyManager` | `getClientSessionKeyManager(Hash _dest)`
    `Set<Hash>` | `getPrimaryHashes()` get a set of all primary hashes
    `boolean` | `isLocal(Destination dest)` Determine if the destination specified is managed locally.
    `boolean` | `isLocal(Hash destHash)` Determine if the destination hash specified is managed locally.
    `void` | `messageDeliveryStatusUpdate(Destination fromDest, MessageId id, long msgNonce, int status)`
    `void` | `messageReceived(ClientMessage msg)`
    `void` | `reportAbuse(Destination dest, String reason, int severity)` Instruct the client (or all clients) that they are under attack.
    `void` | `requestLeaseSet(Destination dest, LeaseSet set, long timeout, Job onCreateJob, Job onFailedJob)` Request that a particular client authorize the Leases contained in the LeaseSet, after which the onCreateJob is queued up.
    `void` | `requestLeaseSet(Hash dest, LeaseSet set)`
    `void` | `restart()` Perform a soft restart.
    `void` | `shutdown()` Instruct the service that the router is shutting down and that it should do whatever is necessary to go down gracefully.
    `void` | `shutdown(String msg)`
    `void` | `startup()` Instruct the service that it should start normal operation.
    `void` | `stopAcceptingClients()`

    - ### Methods inherited from class net.i2p.router.ClientManagerFacade

      `isAlive, listClients, registerMetaDest, renderStatusHTML, shouldPublishLeaseSet, unregisterMetaDest, verifyClientLiveliness`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DummyClientManagerFacade

          public DummyClientManagerFacade(RouterContext ctx)

  - ### Method Detail

    - #### getClientFloodfillNetworkDatabaseFacade

          public FloodfillNetworkDatabaseFacade getClientFloodfillNetworkDatabaseFacade(Hash dbid)

      Description copied from class: `ClientManagerFacade`
      get the FloodfillNetworkDatabaseFacade associated with a particular client destination. This is inside the runner, so it won't be there if the runner isn't ready.
      Specified by:
        `getClientFloodfillNetworkDatabaseFacade` in class `ClientManagerFacade`
      Parameters:
        `dbid` - destination hash associated with the client who's subDb we're looking for
      Returns:
        non-null FloodfillNetworkDatabaseFacade

    - #### getClientSessionConfig

          public SessionConfig getClientSessionConfig(Destination _dest)

      Description copied from class: `ClientManagerFacade`
      Return the client's current config, or null if not connected
      Specified by:
        `getClientSessionConfig` in class `ClientManagerFacade`

    - #### getClientSessionKeyManager

          public SessionKeyManager getClientSessionKeyManager(Hash _dest)

      Specified by:
        `getClientSessionKeyManager` in class `ClientManagerFacade`

    - #### getPrimaryHashes

          public Set<Hash> getPrimaryHashes()

      Description copied from class: `ClientManagerFacade`
      get a set of all primary hashes
      Specified by:
        `getPrimaryHashes` in class `ClientManagerFacade`
      Returns:
        non-null set of Hashes

    - #### isLocal

          public boolean isLocal(Destination dest)

      Description copied from class: `ClientManagerFacade`
      Determine if the destination specified is managed locally. This call DOES block.
      Specified by:
        `isLocal` in class `ClientManagerFacade`
      Parameters:
        `dest` - Destination to be checked

    - #### isLocal

          public boolean isLocal(Hash destHash)

      Description copied from class: `ClientManagerFacade`
      Determine if the destination hash specified is managed locally. This call DOES block.
      Specified by:
        `isLocal` in class `ClientManagerFacade`
      Parameters:
        `destHash` - Hash of Destination to be checked

    - #### messageDeliveryStatusUpdate

          public void messageDeliveryStatusUpdate(Destination fromDest,
                                                  MessageId id,
                                                  long msgNonce,
                                                  int status)

      Specified by:
        `messageDeliveryStatusUpdate` in class `ClientManagerFacade`
        `id` - the router's ID for this message
        `msgNonce` - the client's ID for this message
        `status` - see I2CP MessageStatusMessage for success/failure codes

    - #### messageReceived

          public void messageReceived(ClientMessage msg)

      Specified by:
        `messageReceived` in class `ClientManagerFacade`

    - #### reportAbuse

          public void reportAbuse(Destination dest,
                                  String reason,
                                  int severity)

      Description copied from class: `ClientManagerFacade`
      Instruct the client (or all clients) that they are under attack. This call does not block.
      Specified by:
        `reportAbuse` in class `ClientManagerFacade`
      Parameters:
        `dest` - Destination under attack, or null if all destinations are affected
        `reason` - Why the router thinks that there is abusive behavior
        `severity` - How severe the abuse is, with 0 being not severe and 255 is the max

    - #### requestLeaseSet

          public void requestLeaseSet(Destination dest,
                                      LeaseSet set,
                                      long timeout,
                                      Job onCreateJob,
                                      Job onFailedJob)

      Description copied from class: `ClientManagerFacade`
      Request that a particular client authorize the Leases contained in the LeaseSet, after which the onCreateJob is queued up. If that doesn't occur within the timeout specified, queue up the onFailedJob. This call does not block.
      Specified by:
        `requestLeaseSet` in class `ClientManagerFacade`
      Parameters:
        `dest` - Destination from which the LeaseSet's authorization should be requested
        `set` - LeaseSet with requested leases - this object must be updated to contain the signed version (as well as any changed/added/removed Leases)
        `timeout` - ms to wait before failing
        `onCreateJob` - Job to run after the LeaseSet is authorized
        `onFailedJob` - Job to run after the timeout passes without receiving authorization

    - #### requestLeaseSet

          public void requestLeaseSet(Hash dest,
                                      LeaseSet set)

      Specified by:
        `requestLeaseSet` in class `ClientManagerFacade`

    - #### restart

          public void restart()

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

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

    - #### shutdown

          public void shutdown(String msg)

      Specified by:
        `shutdown` in class `ClientManagerFacade`

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

    - #### stopAcceptingClients

          public void stopAcceptingClients()