net.i2p.data.i2cp
Class GetDateMessage

java.lang.Object
  extended by net.i2p.data.DataStructureImpl
      extended by net.i2p.data.i2cp.I2CPMessageImpl
          extended by net.i2p.data.i2cp.GetDateMessage
All Implemented Interfaces:
Serializable, DataStructure, I2CPMessage

public class GetDateMessage
extends I2CPMessageImpl

Request the other side to send us what they think the current time is. Only supported from client to router. Since 0.8.7, optionally include a version string. Since 0.9.11, optionally include options.

See Also:
Serialized Form

Field Summary
static int MESSAGE_TYPE
           
 
Constructor Summary
GetDateMessage()
           
GetDateMessage(String version)
           
GetDateMessage(String version, Properties options)
          Defaults in GetDateMessage options are, in general, NOT honored.
 
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)
 Properties getOptions()
          Retrieve any configuration options for the connection.
 int getType()
          Return the unique identifier for this type of message, as specified in the network specification document under #ClientAccessLayerMessages
 String getVersion()
           
 String toString()
           
 
Methods inherited from class net.i2p.data.i2cp.I2CPMessageImpl
readBytes, readMessage, readMessage, sessionId, writeBytes, writeMessage
 
Methods inherited from class net.i2p.data.DataStructureImpl
calculateHash, fromBase64, fromByteArray, read, toBase64, toByteArray
 
Methods inherited from class java.lang.Object
clone, equals, 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

GetDateMessage

public GetDateMessage()

GetDateMessage

public GetDateMessage(String version)
Parameters:
version - the client's version String to be sent to the router; may be null
Since:
0.8.7

GetDateMessage

public GetDateMessage(String version,
                      Properties options)
Defaults in GetDateMessage options are, in general, NOT honored. Defaults are not serialized out-of-JVM, and the router does not recognize defaults in-JVM. Client side must promote defaults to the primary map.

Parameters:
version - the client's version String to be sent to the router; may be null; must be non-null if options is non-null and non-empty.
options - Client options to be sent to the router; primarily for authentication; may be null; keys and values 255 bytes (not chars) max each
Since:
0.9.11
Method Detail

getVersion

public String getVersion()
Returns:
may be null
Since:
0.8.7

getOptions

public Properties getOptions()
Retrieve any configuration options for the connection. Primarily for authentication.

Returns:
may be null
Since:
0.9.11

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 message, as specified in the network specification document under #ClientAccessLayerMessages

Returns:
unique identifier for this type of message

toString

public String toString()
Overrides:
toString in class Object