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
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 inherited from class net.i2p.data.i2cp.SendMessageMessage
_destination, _nonce, _payload, _sessionId
-
Constructor Summary
ConstructorDescriptionFor reading.SendMessageExpiresMessage
(DateAndFlags options) Deprecated.use 5-arg constructorSendMessageExpiresMessage
(SessionId sessID, Destination dest, Payload payload, long nonce) For writingSendMessageExpiresMessage
(SessionId sessID, Destination dest, Payload payload, long nonce, DateAndFlags options) For writing -
Method Summary
Modifier and TypeMethodDescriptionThe Date object is created here, it is not cached.long
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
void
setFlags
(int f) 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
Methods inherited from class net.i2p.data.i2cp.I2CPMessageImpl
readBytes, readMessage, writeBytes
-
Field Details
-
MESSAGE_TYPE
public static final int MESSAGE_TYPE- See Also:
-
-
Constructor Details
-
SendMessageExpiresMessage
public SendMessageExpiresMessage()For reading. Deprecated for writing, use 4-arg constructor -
SendMessageExpiresMessage
Deprecated.use 5-arg constructorFor writing- Since:
- 0.9.2
-
SendMessageExpiresMessage
For writing- Since:
- 0.9.54
-
SendMessageExpiresMessage
public SendMessageExpiresMessage(SessionId sessID, Destination dest, Payload payload, long nonce, DateAndFlags options) For writing- Since:
- 0.9.54
-
-
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, IOException Read 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
-