java.lang.Object
net.i2p.data.i2cp.I2CPMessageImpl
net.i2p.data.i2cp.SetDateMessage
- All Implemented Interfaces:
I2CPMessage
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
Constructor Summary
ConstructorsConstructorDescriptionCreates a request stamped with the current time and the configured version string.SetDateMessage(String version) Router's version String to be sent to the client; may be null.Method Summary
Public MethodsModifier and TypeMethodDescriptionprotected voiddoReadMessage(InputStream in, int size) Read the message body from the input stream.protected byte[]Write the message body to the output stream.getDate()Returns the sender's clock reading carried by this message.intgetType()Returns the I2CP message type code for this message.Gets the protocol version.voidCurrent router date.toString()Returns a string representation of this message.Methods inherited from class I2CPMessageImpl
readBytes, readMessage, readMessage, sessionId, writeBytes, writeMessageModifier and TypeMethodDescriptionvoidreadBytes(InputStream in) Read the message from the stream, wrapping I2CPMessageException inDataFormatException.voidValidate the type and size of the message, and then read the message into the data structures.voidreadMessage(InputStream in, int length, int type) Read the body into the data structures.Return the SessionId for this type of message.voidwriteBytes(OutputStream out) Write the message to the stream, wrapping I2CPMessageException in DataFormatException.voidwriteMessage(OutputStream out) Write out the full message to the stream, including the 4 byte size and 1 byte type header.
Field Details
MESSAGE_TYPE
public static final int MESSAGE_TYPEI2CP message type code for a peer clock synchronization request.- See Also:
_date
The date the client asks the router to set._version
Version string of the client asking.
Constructor Details
SetDateMessage
public SetDateMessage()Creates a request stamped with the current time and the configured version string.SetDateMessage
Router's version String to be sent to the client; may be null.- Parameters:
version- the router's version String to be sent to the client; may be null
Method Details
getDate
Returns the sender's clock reading carried by this message.- Returns:
- the sender's clock reading, never null
setDate
Current router date.- Parameters:
date- the router's current date, carried in milliseconds since the epoch
getVersion
doReadMessage
Read the message body from the input stream.- Specified by:
doReadMessagein classI2CPMessageImpl- Parameters:
in- positioned just past the 4 byte size and 1 byte type headersize- how many payload bytes remain to be read- Throws:
I2CPMessageException- if the message format is invalidIOException- if there's an error reading from the stream
doWriteMessage
Write the message body to the output stream.- Specified by:
doWriteMessagein classI2CPMessageImpl- Returns:
- byte array
- Throws:
I2CPMessageException- if the message cannot be writtenIOException- if there's an error writing to the stream
getType
toString