Package net.i2p.data

Class Lease

All Implemented Interfaces:
Serializable, DataStructure
Direct Known Subclasses:
Lease2, MetaLease

public class Lease extends DataStructureImpl
Defines the proof that a particular router / tunnel is allowed to receive messages for a particular Destination during some period of time.
Author:
jrandom
See Also:
  • Field Details

    • _gateway

      protected Hash _gateway
    • _tunnelId

      protected TunnelId _tunnelId
    • _end

      protected long _end
  • Constructor Details

    • Lease

      public Lease()
  • Method Details

    • getGateway

      public Hash getGateway()
      Retrieve the router at which the destination can be contacted
      Returns:
      identity of the router acting as a gateway
    • setGateway

      public void setGateway(Hash ident)
      Configure the router at which the destination can be contacted
      Parameters:
      ident - router acting as the gateway
    • getTunnelId

      public TunnelId getTunnelId()
      Tunnel on the gateway to communicate with
      Returns:
      tunnel ID
    • setTunnelId

      public void setTunnelId(TunnelId id)
      Configure the tunnel on the gateway to communicate with
      Parameters:
      id - tunnel ID
    • getEndDate

      @Deprecated public Date getEndDate()
      Deprecated.
      use getEndTime()
    • setEndDate

      @Deprecated public void setEndDate(Date date)
      Deprecated.
      use setEndDate(long)
    • getEndTime

      public long getEndTime()
      Since:
      0.9.48
    • setEndDate

      public void setEndDate(long date)
      Since:
      0.9.48
    • isExpired

      public boolean isExpired()
      has this lease already expired?
    • isExpired

      public boolean isExpired(long fudgeFactor)
      has this lease already expired (giving allowing up the fudgeFactor milliseconds for clock skew)?
    • readBytes

      public void readBytes(InputStream in) throws DataFormatException, IOException
      Description copied from interface: DataStructure
      Load up the current object with data from the given stream. Data loaded this way must match the I2P data structure specification. Warning - many classes will throw IllegalStateException if data is already set.
      Parameters:
      in - stream to read from
      Throws:
      DataFormatException - if the data is improperly formatted
      IOException - if there was a problem reading the stream
    • writeBytes

      public void writeBytes(OutputStream out) throws DataFormatException, IOException
      Description copied from interface: DataStructure
      Write out the data structure to the stream, using the format defined in the I2P data structure specification.
      Parameters:
      out - stream to write to
      Throws:
      DataFormatException - if the data was incomplete or not yet ready to be written
      IOException - if there was a problem writing to the stream
    • equals

      public boolean equals(Object object)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object