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 int
MESSAGE_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
Modifier and Type Method Description Date
getExpiration()
The Date object is created here, it is not cached.long
getExpirationTime()
Use this instead of getExpiration().getTime()int
getFlags()
int
getType()
Return the unique identifier for this type of message, as specified in the network specification document under #ClientAccessLayerMessagesvoid
readMessage(InputStream in, int length, int type)
Read the body into the data structuresvoid
setExpiration(long d)
void
setExpiration(Date d)
void
setFlags(int f)
String
toString()
void
writeMessage(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:
readMessage
in interfaceI2CPMessage
- Overrides:
readMessage
in classSendMessageMessage
- Parameters:
in
- stream to read fromlength
- number of bytes in the message payloadtype
- type of message (should equal getType())- Throws:
IOException
I2CPMessageException
- 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:
writeMessage
in interfaceI2CPMessage
- Overrides:
writeMessage
in classSendMessageMessage
- Parameters:
out
- OutputStream- Throws:
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 message, as specified in the network specification document under #ClientAccessLayerMessages- Specified by:
getType
in interfaceI2CPMessage
- Overrides:
getType
in classSendMessageMessage
- Returns:
- unique identifier for this type of message
-
toString
- Overrides:
toString
in classSendMessageMessage
-