net.i2p.data
Class Lease

java.lang.Object
  extended by net.i2p.data.DataStructureImpl
      extended by net.i2p.data.Lease
All Implemented Interfaces:
DataStructure

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

Constructor Summary
Lease()
           
 
Method Summary
 boolean equals(java.lang.Object object)
           
 java.util.Date getEndDate()
           
 Hash getGateway()
          Retrieve the router at which the destination can be contacted
 int getNumFailure()
          Deprecated. unused
 int getNumSuccess()
          Deprecated. unused
 TunnelId getTunnelId()
          Tunnel on the gateway to communicate with
 int hashCode()
           
 boolean isExpired()
          has this lease already expired?
 boolean isExpired(long fudgeFactor)
          has this lease already expired (giving allowing up the fudgeFactor milliseconds for clock skew)?
 void readBytes(java.io.InputStream in)
          Load up the current object with data from the given stream.
 void setEndDate(java.util.Date date)
           
 void setGateway(Hash ident)
          Configure the router at which the destination can be contacted
 void setNumFailure(int num)
          Deprecated. unused
 void setNumSuccess(int num)
          Deprecated. unused
 void setTunnelId(TunnelId id)
          Configure the tunnel on the gateway to communicate with
 java.lang.String toString()
           
 void writeBytes(java.io.OutputStream out)
          Write out the data structure to the stream, using the format defined in the I2P data structure specification.
 
Methods inherited from class net.i2p.data.DataStructureImpl
calculateHash, fromBase64, fromByteArray, read, toBase64, toByteArray
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Lease

public Lease()
Method Detail

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

public java.util.Date getEndDate()

setEndDate

public void setEndDate(java.util.Date date)

getNumSuccess

public int getNumSuccess()
Deprecated. unused

Transient attribute of the lease, used to note how many times messages sent to the destination through the current lease were successful.


setNumSuccess

public void setNumSuccess(int num)
Deprecated. unused


getNumFailure

public int getNumFailure()
Deprecated. unused

Transient attribute of the lease, used to note how many times messages sent to the destination through the current lease failed.


setNumFailure

public void setNumFailure(int num)
Deprecated. unused


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(java.io.InputStream in)
               throws DataFormatException,
                      java.io.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.

Parameters:
in - stream to read from
Throws:
DataFormatException - if the data is improperly formatted
java.io.IOException - if there was a problem reading the stream

writeBytes

public void writeBytes(java.io.OutputStream out)
                throws DataFormatException,
                       java.io.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
java.io.IOException - if there was a problem writing to the stream

equals

public boolean equals(java.lang.Object object)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object