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
FieldsFields inherited from class net.i2p.data.i2cp.SendMessageMessage
_destination, _nonce, _payload, _sessionId -
Constructor Summary
ConstructorsConstructorDescriptionFor 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.longUse 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) voidvoidsetFlags(int f) toString()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, setSessionIdMethods 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:
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
-