## net.i2p.data.i2cp
Class RequestLeaseSetMessage

    java.lang.Object
      net.i2p.data.DataStructureImpl
          net.i2p.data.i2cp.I2CPMessageImpl
              net.i2p.data.i2cp.RequestLeaseSetMessage

All Implemented Interfaces:
  DataStructure, I2CPMessage

    public class RequestLeaseSetMessage

extends I2CPMessageImpl

Defines the message a client sends to a router when destroying existing session.

Author:
  jrandom

Field Summary
`static int` `MESSAGE_TYPE`

Constructor Summary
`RequestLeaseSetMessage()`

Method Summary
`void` `addEndpoint(Hash router, TunnelId tunnel)`
`protected void` `doReadMessage(java.io.InputStream in, int size)` Read in the payload part of the message (after the initial 4 byte size and 1 byte type)
`protected byte[]` `doWriteMessage()` Write out the payload part of the message (not including the 4 byte size and 1 byte type)
`boolean` `equals(java.lang.Object object)`
`java.util.Date` `getEndDate()`
`int` `getEndpoints()`
`Hash` `getRouter(int endpoint)`
`SessionId` `getSessionId()`
`TunnelId` `getTunnelId(int endpoint)`
`int` `getType()` Return the unique identifier for this type of APIMessage, as specified in the network specification document under #ClientAccessLayerMessages
`void` `remoteEndpoint(int endpoint)`
`void` `setEndDate(java.util.Date end)`
`void` `setSessionId(SessionId id)`
`java.lang.String` `toString()`

Methods inherited from class net.i2p.data.i2cp.I2CPMessageImpl
`readBytes, readMessage, readMessage, writeBytes, writeMessage`

Methods inherited from class net.i2p.data.DataStructureImpl
`calculateHash, fromBase64, fromByteArray, read, toBase64, toByteArray`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface net.i2p.data.DataStructure
`calculateHash, fromBase64, fromByteArray, toBase64, toByteArray`

Field Detail

### MESSAGE_TYPE

    public static final int MESSAGE_TYPE

See Also:
  Constant Field Values

Constructor Detail

### RequestLeaseSetMessage

    public RequestLeaseSetMessage()

Method Detail

### getSessionId

    public SessionId getSessionId()

### setSessionId

    public void setSessionId(SessionId id)

### getEndpoints

    public int getEndpoints()

### getRouter

    public Hash getRouter(int endpoint)

### getTunnelId

    public TunnelId getTunnelId(int endpoint)

### remoteEndpoint

    public void remoteEndpoint(int endpoint)

### addEndpoint

    public void addEndpoint(Hash router,
                            TunnelId tunnel)

### getEndDate

    public java.util.Date getEndDate()

### setEndDate

    public void setEndDate(java.util.Date end)

### doReadMessage

    protected void doReadMessage(java.io.InputStream in,
                                 int size)
                          throws I2CPMessageException,
                                 java.io.IOException

  Description copied from class: `I2CPMessageImpl`
  Read in the payload part of the message (after the initial 4 byte size and 1 byte type)

  Specified by:
    `doReadMessage` in class `I2CPMessageImpl`
  Throws:
    `I2CPMessageException`
    `java.io.IOException`

### doWriteMessage

    protected byte[] doWriteMessage()
                             throws I2CPMessageException,
                                    java.io.IOException

  Description copied from class: `I2CPMessageImpl`
  Write out the payload part of the message (not including the 4 byte size and 1 byte type)

  Specified by:
    `doWriteMessage` in class `I2CPMessageImpl`
  Throws:
    `I2CPMessageException`
    `java.io.IOException`

### getType

    public int getType()

  Description copied from interface: `I2CPMessage`
  Return the unique identifier for this type of APIMessage, as specified in the network specification document under #ClientAccessLayerMessages

### equals

    public boolean equals(java.lang.Object object)

  Overrides:
    `equals` in class `java.lang.Object`

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`