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_TYPEFields inherited from class net.i2p.data.i2cp.SendMessageMessage
_destination, _nonce, _payload, _sessionId -
Constructor Summary
Constructors Constructor Description SendMessageExpiresMessage()SendMessageExpiresMessage(DateAndFlags options) -
Method Summary
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
-
Field Details
-
MESSAGE_TYPE
public static final int MESSAGE_TYPE- See Also:
- Constant Field Values
-
-
Constructor Details
-
SendMessageExpiresMessage
public SendMessageExpiresMessage() -
SendMessageExpiresMessage
- Since:
- 0.9.2
-
-
Method Details
-
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
-
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, IOExceptionRead 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
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
- Overrides:
toStringin classSendMessageMessage
-