public abstract class ClientManagerFacade extends Object implements Service
Modifier and Type | Field and Description |
---|---|
static String |
PROP_CLIENT_ONLY |
Constructor and Description |
---|
ClientManagerFacade() |
Modifier and Type | Method and Description |
---|---|
abstract FloodfillNetworkDatabaseFacade |
getClientFloodfillNetworkDatabaseFacade(Hash destHash)
get the FloodfillNetworkDatabaseFacade associated with a particular client destination.
|
abstract SessionConfig |
getClientSessionConfig(Destination dest)
Return the client's current config, or null if not connected
|
abstract SessionKeyManager |
getClientSessionKeyManager(Hash dest) |
abstract Set<Hash> |
getPrimaryHashes()
get a set of all primary hashes
|
boolean |
isAlive() |
abstract boolean |
isLocal(Destination dest)
Determine if the destination specified is managed locally.
|
abstract boolean |
isLocal(Hash destHash)
Determine if the destination hash specified is managed locally.
|
Set<Destination> |
listClients()
Return the list of locally connected clients
|
abstract void |
messageDeliveryStatusUpdate(Destination fromDest,
MessageId id,
long messageNonce,
int status) |
abstract void |
messageReceived(ClientMessage msg) |
void |
registerMetaDest(Destination dest)
Declare that we're going to publish a meta LS for this destination.
|
void |
renderStatusHTML(Writer out) |
abstract void |
reportAbuse(Destination dest,
String reason,
int severity)
Instruct the client (or all clients) that they are under attack.
|
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.
|
abstract void |
requestLeaseSet(Hash dest,
LeaseSet set) |
boolean |
shouldPublishLeaseSet(Hash destinationHash)
Does the client specified want their leaseSet published?
|
abstract void |
shutdown(String msg) |
void |
unregisterMetaDest(Destination dest)
Declare that we're no longer going to publish a meta LS for this destination.
|
boolean |
verifyClientLiveliness() |
public static final String PROP_CLIENT_ONLY
public abstract void requestLeaseSet(Destination dest, LeaseSet set, long timeout, Job onCreateJob, Job onFailedJob)
dest
- Destination from which the LeaseSet's authorization should be requestedset
- 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 failingonCreateJob
- Job to run after the LeaseSet is authorizedonFailedJob
- Job to run after the timeout passes without receiving authorizationpublic abstract void reportAbuse(Destination dest, String reason, int severity)
dest
- Destination under attack, or null if all destinations are affectedreason
- Why the router thinks that there is abusive behaviorseverity
- How severe the abuse is, with 0 being not severe and 255 is the maxpublic abstract boolean isLocal(Destination dest)
dest
- Destination to be checkedpublic abstract boolean isLocal(Hash destHash)
destHash
- Hash of Destination to be checkedpublic abstract void messageDeliveryStatusUpdate(Destination fromDest, MessageId id, long messageNonce, int status)
id
- the router's ID for this messagemessageNonce
- the client's ID for this messagestatus
- see I2CP MessageStatusMessage for success/failure codespublic abstract void messageReceived(ClientMessage msg)
public boolean verifyClientLiveliness()
public boolean isAlive()
public boolean shouldPublishLeaseSet(Hash destinationHash)
public Set<Destination> listClients()
public abstract SessionConfig getClientSessionConfig(Destination dest)
public abstract SessionKeyManager getClientSessionKeyManager(Hash dest)
public void renderStatusHTML(Writer out) throws IOException
renderStatusHTML
in interface Service
IOException
public abstract void shutdown(String msg)
public void registerMetaDest(Destination dest) throws I2PSessionException
I2PSessionException
- on duplicate destpublic void unregisterMetaDest(Destination dest)
public abstract FloodfillNetworkDatabaseFacade getClientFloodfillNetworkDatabaseFacade(Hash destHash)
destHash
- destination hash associated with the client who's subDb we're looking for