Class ClientManagerFacade

    • Constructor Detail

      • ClientManagerFacade

        public ClientManagerFacade()
    • Method Detail

      • requestLeaseSet

        public abstract 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. If that doesn't occur within the timeout specified, queue up the onFailedJob. This call does not block.
        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 abstract void requestLeaseSet​(Hash dest,
                                             LeaseSet set)
      • reportAbuse

        public abstract void reportAbuse​(Destination dest,
                                         String reason,
                                         int severity)
        Instruct the client (or all clients) that they are under attack. This call does not block.
        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
      • isLocal

        public abstract boolean isLocal​(Destination dest)
        Determine if the destination specified is managed locally. This call DOES block.
        Parameters:
        dest - Destination to be checked
      • isLocal

        public abstract boolean isLocal​(Hash destHash)
        Determine if the destination hash specified is managed locally. This call DOES block.
        Parameters:
        destHash - Hash of Destination to be checked
      • messageDeliveryStatusUpdate

        public abstract void messageDeliveryStatusUpdate​(Destination fromDest,
                                                         MessageId id,
                                                         long messageNonce,
                                                         int status)
        Parameters:
        id - the router's ID for this message
        messageNonce - the client's ID for this message
        status - see I2CP MessageStatusMessage for success/failure codes
      • messageReceived

        public abstract void messageReceived​(ClientMessage msg)
      • verifyClientLiveliness

        public boolean verifyClientLiveliness()
      • isAlive

        public boolean isAlive()
      • shouldPublishLeaseSet

        public boolean shouldPublishLeaseSet​(Hash destinationHash)
        Does the client specified want their leaseSet published?
      • listClients

        public Set<Destination> listClients()
        Return the list of locally connected clients
        Returns:
        set of Destination objects
      • getClientSessionConfig

        public abstract SessionConfig getClientSessionConfig​(Destination dest)
        Return the client's current config, or null if not connected
      • getClientSessionKeyManager

        public abstract SessionKeyManager getClientSessionKeyManager​(Hash dest)
      • shutdown

        public abstract void shutdown​(String msg)
        Since:
        0.8.8
      • registerMetaDest

        public void registerMetaDest​(Destination dest)
                              throws I2PSessionException
        Declare that we're going to publish a meta LS for this destination. Must be called before publishing the leaseset.
        Throws:
        I2PSessionException - on duplicate dest
        Since:
        0.9.41
      • unregisterMetaDest

        public void unregisterMetaDest​(Destination dest)
        Declare that we're no longer going to publish a meta LS for this destination.
        Since:
        0.9.41