net.i2p.data.i2cp
Class SendMessageExpiresMessage

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

public class SendMessageExpiresMessage
extends SendMessageMessage

Same as SendMessageMessage, but with an expiration to be passed to the router

Author:
zzz

Field Summary
static int MESSAGE_TYPE
           
 
Constructor Summary
SendMessageExpiresMessage()
           
 
Method Summary
 boolean equals(java.lang.Object object)
           
 java.util.Date getExpiration()
           
 int getType()
          Return the unique identifier for this type of APIMessage, as specified in the network specification document under #ClientAccessLayerMessages
 void readMessage(java.io.InputStream in, int length, int type)
          Read the body into the data structures
 void setExpiration(java.util.Date d)
           
 java.lang.String toString()
           
 void writeMessage(java.io.OutputStream out)
          Write out the full message to the stream, including the 4 byte size and 1 byte type header.
 
Methods inherited from class net.i2p.data.i2cp.SendMessageMessage
doReadMessage, doWriteMessage, getDestination, getNonce, getPayload, getSessionId, setDestination, setNonce, setPayload, setSessionId
 
Methods inherited from class net.i2p.data.i2cp.I2CPMessageImpl
readBytes, readMessage, writeBytes
 
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

SendMessageExpiresMessage

public SendMessageExpiresMessage()
Method Detail

getExpiration

public java.util.Date getExpiration()

setExpiration

public void setExpiration(java.util.Date d)

readMessage

public void readMessage(java.io.InputStream in,
                        int length,
                        int type)
                 throws I2CPMessageException,
                        java.io.IOException
Read the body into the data structures

Specified by:
readMessage in interface I2CPMessage
Overrides:
readMessage in class SendMessageMessage
Parameters:
in - stream to read from
length - number of bytes in the message payload
type - type of message (should equal getType())
Throws:
java.io.IOException
I2CPMessageException - if the stream doesn't contain a valid message that this class can read.

writeMessage

public void writeMessage(java.io.OutputStream out)
                  throws I2CPMessageException,
                         java.io.IOException
Write out the full message to the stream, including the 4 byte size and 1 byte type header. Override the parent so we can be more mem efficient

Specified by:
writeMessage in interface I2CPMessage
Overrides:
writeMessage in class SendMessageMessage
Parameters:
out - OutputStream
Throws:
java.io.IOException
I2CPMessageException - if the current object doesn't have sufficient data to write a properly formatted message.

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

Specified by:
getType in interface I2CPMessage
Overrides:
getType in class SendMessageMessage
Returns:
unique identifier for this type of APIMessage

equals

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

toString

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