## net.i2p.data.i2cp
Class SetDateMessage

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

All Implemented Interfaces:
  DataStructure, I2CPMessage

    public class SetDateMessage

extends I2CPMessageImpl

Tell the other side what time it is. Only supported from router to client. Since 0.8.7, optionally include a version string.

Field Summary
`static int` `MESSAGE_TYPE`

Constructor Summary
`SetDateMessage()`
`SetDateMessage(String version)`

Method Summary
`protected void` `doReadMessage(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(Object object)`
`Date` `getDate()`
`int` `getType()` Return the unique identifier for this type of APIMessage, as specified in the network specification document under #ClientAccessLayerMessages
`String` `getVersion()`
`int` `hashCode()`
`void` `setDate(Date date)`
`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, 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

### SetDateMessage

    public SetDateMessage()

### SetDateMessage

    public SetDateMessage(String version)

Parameters:
  `version` - the router's version String to be sent to the client; may be null
Since:
  0.8.7

Method Detail

### getDate

    public Date getDate()

### setDate

    public void setDate(Date date)

### getVersion

    public String getVersion()

  Returns:
    may be null
  Since:
    0.8.7

### doReadMessage

    protected void doReadMessage(InputStream in,
                                 int size)
                          throws I2CPMessageException,
                                 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`
  Parameters:
    `in` - InputStream
    `size` - payload size
  Throws:
    `I2CPMessageException`
    `IOException`

### doWriteMessage

    protected byte[] doWriteMessage()
                             throws I2CPMessageException,
                                    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`
  Returns:
    byte array
  Throws:
    `I2CPMessageException`
    `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

  Returns:
    unique identifier for this type of APIMessage

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

### equals

    public boolean equals(Object object)

  Overrides:
    `equals` in class `Object`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`