public class Lease extends DataStructureImpl
Lease represents the fundamental routing authorization in I2P:
Key Components:
Hash identifying the router hosting the tunnelTunnelId identifying specific tunnel on gatewaylong timestamp when lease expiresAuthorization Model:
Usage in LeaseSet:
Network Operations:
Security Considerations:
Performance Aspects:
Related Structures:
| Modifier and Type | Field and Description |
|---|---|
protected long | _endLease expiration time in milliseconds since epoch. |
protected Hash | _gatewayGateway router hash. |
protected TunnelId | _tunnelIdTunnel identifier on the gateway. |
| Constructor and Description |
|---|
Lease()Required for deserialization. |
| Modifier and Type | Method and Description |
|---|---|
boolean | equals(Object object)Compares this Lease with another object for equality. |
Date | getEndDate()Convenience wrapper, prefer getEndTime() for new code. |
long | getEndTime()Gets the lease end time. |
Hash | getGateway()Retrieve the router at which the destination can be contacted |
TunnelId | getTunnelId()Tunnel on the gateway to communicate with |
int | hashCode()Hash code based on end time, gateway, and tunnel ID. |
boolean | isExpired()True if the lease has expired. |
boolean | isExpired(long fudgeFactor)Fudge factor in milliseconds for clock skew. |
void | readBytes(InputStream in)Reads the lease from an input stream. |
void | setEndDate(Date date)Convenience wrapper, prefer the long overload for new code. |
void | setEndDate(long date)Sets the lease end date. |
void | setGateway(Hash ident)Configure the router at which the destination can be contacted |
void | setTunnelId(TunnelId id)Configure the tunnel on the gateway to communicate with |
String | toString()Returns a string representation of this Lease. |
void | writeBytes(OutputStream out)Writes the lease to an output stream. |
calculateHash, fromBase64, fromByteArray, read, toBase64, toByteArrayprotected long _end
protected Hash _gateway
protected TunnelId _tunnelId
public boolean equals(Object object)
public Date getEndDate()
public long getEndTime()
public Hash getGateway()
public TunnelId getTunnelId()
public int hashCode()
public boolean isExpired()
public boolean isExpired(long fudgeFactor)
fudgeFactor - fudge factor in milliseconds for clock skewpublic void readBytes(InputStream in) throws DataFormatException, IOException
in - stream to read fromDataFormatException - if the data is improperly formattedIOException - if there was a problem reading the streampublic void setEndDate(Date date)
date - end datepublic void setEndDate(long date)
public void setGateway(Hash ident)
ident - router acting as the gatewaypublic void setTunnelId(TunnelId id)
id - tunnel IDpublic String toString()
public void writeBytes(OutputStream out) throws DataFormatException, IOException
out - stream to write toDataFormatException - if the data was incomplete or not yet ready to be writtenIOException - if there was a problem writing to the stream