Package net.i2p.router.client
Class ClientManagerFacadeImpl
java.lang.Object
net.i2p.router.ClientManagerFacade
net.i2p.router.client.ClientManagerFacadeImpl
- All Implemented Interfaces:
InternalClientManager
,Service
Base impl of the client facade
- Author:
- jrandom
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
static final int
static final String
note that this is different than the property the client side uses, i2cp.tcp.hoststatic final String
note that this is different than the property the client side uses, i2cp.tcp.portFields inherited from class net.i2p.router.ClientManagerFacade
PROP_CLIENT_ONLY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionconnect()
The InternalClientManager interface.Return the client's current config, or null if not connectedReturn the client's current manager or null if not connectedboolean
isAlive()
boolean
isLocal
(Destination dest) Determine if the destination specified is managed locally.boolean
Determine if the destination specified is managed locally.Return the list of locally connected clientsvoid
messageDeliveryStatusUpdate
(Destination fromDest, MessageId id, long messageNonce, int status) void
void
registerMetaDest
(Destination dest) Declare that we're going to publish a meta LS for this destination.void
renderStatusHTML
(Writer out) Deprecated.unusedvoid
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) Request that a particular client authorize the Leases contained in the LeaseSet.void
restart()
Perform a soft restart.boolean
shouldPublishLeaseSet
(Hash destinationHash) Does the client specified want their leaseSet published?void
shutdown()
Instruct the service that the router is shutting down and that it should do whatever is necessary to go down gracefully.void
void
startup()
Instruct the service that it should start normal operation.void
Declare that we're no longer going to publish a meta LS for this destination.boolean
-
Field Details
-
PROP_CLIENT_PORT
note that this is different than the property the client side uses, i2cp.tcp.port- See Also:
-
DEFAULT_PORT
public static final int DEFAULT_PORT- See Also:
-
PROP_CLIENT_HOST
note that this is different than the property the client side uses, i2cp.tcp.host- See Also:
-
DEFAULT_HOST
- See Also:
-
-
Constructor Details
-
ClientManagerFacadeImpl
-
-
Method Details
-
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. -
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
- Specified by:
shutdown
in classClientManagerFacade
- Parameters:
msg
- message to send to the clients- Since:
- 0.8.8
-
restart
public void restart()Description copied from interface:Service
Perform a soft restart. -
isAlive
public boolean isAlive()- Overrides:
isAlive
in classClientManagerFacade
-
verifyClientLiveliness
public boolean verifyClientLiveliness()- Overrides:
verifyClientLiveliness
in classClientManagerFacade
-
requestLeaseSet
public 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. UNUSED, the call below without jobs is always used.- Specified by:
requestLeaseSet
in classClientManagerFacade
- Parameters:
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) The LeaseSet contains Leases only; it is unsigned and does not have the destination set.timeout
- ms to wait before failingonCreateJob
- Job to run after the LeaseSet is authorizedonFailedJob
- Job to run after the timeout passes without receiving authorization
-
requestLeaseSet
Request that a particular client authorize the Leases contained in the LeaseSet.- Specified by:
requestLeaseSet
in classClientManagerFacade
- Parameters:
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). The LeaseSet contains Leases only; it is unsigned and does not have the destination set.
-
reportAbuse
Instruct the client (or all clients) that they are under attack. This call does not block.- Specified by:
reportAbuse
in classClientManagerFacade
- Parameters:
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 max
-
isLocal
Determine if the destination specified is managed locally. This call DOES block.- Specified by:
isLocal
in classClientManagerFacade
- Parameters:
dest
- Destination to be checked
-
isLocal
Determine if the destination specified is managed locally. This call DOES block.- Specified by:
isLocal
in classClientManagerFacade
- Parameters:
destHash
- Hash of Destination to be checked
-
shouldPublishLeaseSet
Description copied from class:ClientManagerFacade
Does the client specified want their leaseSet published?- Overrides:
shouldPublishLeaseSet
in classClientManagerFacade
-
messageDeliveryStatusUpdate
public void messageDeliveryStatusUpdate(Destination fromDest, MessageId id, long messageNonce, int status) - Specified by:
messageDeliveryStatusUpdate
in classClientManagerFacade
- Parameters:
id
- the router's ID for this messagemessageNonce
- the client's ID for this message, greater than zerostatus
- see I2CP MessageStatusMessage for success/failure codes
-
messageReceived
- Specified by:
messageReceived
in classClientManagerFacade
-
getClientSessionConfig
Return the client's current config, or null if not connected- Specified by:
getClientSessionConfig
in classClientManagerFacade
-
getClientSessionKeyManager
Return the client's current manager or null if not connected- Specified by:
getClientSessionKeyManager
in classClientManagerFacade
-
renderStatusHTML
Deprecated.unused- Specified by:
renderStatusHTML
in interfaceService
- Overrides:
renderStatusHTML
in classClientManagerFacade
- Throws:
IOException
-
listClients
Return the list of locally connected clients- Overrides:
listClients
in classClientManagerFacade
- Returns:
- set of Destination objects
-
connect
The InternalClientManager interface. Connect to the router, receiving a message queue to talk to the router with.- Specified by:
connect
in interfaceInternalClientManager
- Throws:
I2PSessionException
- if the router isn't ready- Since:
- 0.8.3
-
registerMetaDest
Declare that we're going to publish a meta LS for this destination. Must be called before publishing the leaseset.- Overrides:
registerMetaDest
in classClientManagerFacade
- Throws:
I2PSessionException
- on duplicate dest- Since:
- 0.9.41
-
unregisterMetaDest
Declare that we're no longer going to publish a meta LS for this destination.- Overrides:
unregisterMetaDest
in classClientManagerFacade
- Since:
- 0.9.41
-