Package net.i2p.data.i2cp
Class SendMessageExpiresMessage
- java.lang.Object
-
- net.i2p.data.i2cp.I2CPMessageImpl
-
- net.i2p.data.i2cp.SendMessageMessage
-
- net.i2p.data.i2cp.SendMessageExpiresMessage
-
- All Implemented Interfaces:
I2CPMessage
public class SendMessageExpiresMessage extends SendMessageMessage
Same as SendMessageMessage, but with an expiration to be passed to the router As of 0.8.4, retrofitted to use DateAndFlags. Backwards compatible.- Author:
- zzz
-
-
Field Summary
Fields Modifier and Type Field Description static intMESSAGE_TYPE-
Fields inherited from class net.i2p.data.i2cp.SendMessageMessage
_destination, _nonce, _payload, _sessionId
-
-
Constructor Summary
Constructors Constructor Description SendMessageExpiresMessage()SendMessageExpiresMessage(DateAndFlags options)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DategetExpiration()The Date object is created here, it is not cached.longgetExpirationTime()Use this instead of getExpiration().getTime()intgetFlags()intgetType()Return the unique identifier for this type of message, as specified in the network specification document under #ClientAccessLayerMessagesvoidreadMessage(InputStream in, int length, int type)Read the body into the data structuresvoidsetExpiration(long d)voidsetExpiration(Date d)voidsetFlags(int f)StringtoString()voidwriteMessage(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, sessionId, setDestination, setNonce, setPayload, setSessionId
-
Methods inherited from class net.i2p.data.i2cp.I2CPMessageImpl
readBytes, readMessage, writeBytes
-
-
-
-
Field Detail
-
MESSAGE_TYPE
public static final int MESSAGE_TYPE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SendMessageExpiresMessage
public SendMessageExpiresMessage()
-
SendMessageExpiresMessage
public SendMessageExpiresMessage(DateAndFlags options)
- Since:
- 0.9.2
-
-
Method Detail
-
getExpiration
public Date getExpiration()
The Date object is created here, it is not cached. Use getExpirationTime() if you only need the long value.
-
getExpirationTime
public long getExpirationTime()
Use this instead of getExpiration().getTime()- Since:
- 0.8.4
-
setExpiration
public void setExpiration(Date d)
-
setExpiration
public void setExpiration(long d)
- Since:
- 0.8.4
-
getFlags
public int getFlags()
- Since:
- 0.8.4
-
setFlags
public void setFlags(int f)
- Since:
- 0.8.4
-
readMessage
public void readMessage(InputStream in, int length, int type) throws I2CPMessageException, IOException
Read the body into the data structures- Specified by:
readMessagein interfaceI2CPMessage- Overrides:
readMessagein classSendMessageMessage- Parameters:
in- stream to read fromlength- number of bytes in the message payloadtype- type of message (should equal getType())- Throws:
IOExceptionI2CPMessageException- if the stream doesn't contain a valid message that this class can read.
-
writeMessage
public void writeMessage(OutputStream out) throws I2CPMessageException, 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:
writeMessagein interfaceI2CPMessage- Overrides:
writeMessagein classSendMessageMessage- Parameters:
out- OutputStream- Throws:
IOExceptionI2CPMessageException- if the current object doesn't have sufficient data to write a properly formatted message.
-
getType
public int getType()
Description copied from interface:I2CPMessageReturn the unique identifier for this type of message, as specified in the network specification document under #ClientAccessLayerMessages- Specified by:
getTypein interfaceI2CPMessage- Overrides:
getTypein classSendMessageMessage- Returns:
- unique identifier for this type of message
-
toString
public String toString()
- Overrides:
toStringin classSendMessageMessage
-
-