Package net.i2p.client.impl
Class MessageState
java.lang.Object
net.i2p.client.impl.MessageState
class MessageState extends Object
Contains the state of a payload message being sent to a peer.
Originally was a general-purpose waiter.
Then we got rid of guaranteed delivery.
Then we stopped waiting for accept in best-effort delivery.
Brought back to life for asynchronous status delivery to the client.
-
Constructor Summary
Constructors Constructor Description MessageState(I2PAppContext ctx, long nonce, String prefix)
For synchronous waiting for accept with waitForAccept().MessageState(I2PAppContext ctx, long nonce, I2PSession session, long expires, SendMessageStatusListener listener)
For asynchronous notification -
Method Summary
Modifier and Type Method Description void
cancel()
long
getElapsed()
long
getExpires()
MessageId
getMessageId()
void
receive(int status)
void
setMessageId(MessageId id)
void
waitForAccept(long expiration)
For guaranteed/best effort only.boolean
wasAccepted()
boolean
wasSuccessful()
-
Constructor Details
-
MessageState
For synchronous waiting for accept with waitForAccept(). UNUSED. -
MessageState
public MessageState(I2PAppContext ctx, long nonce, I2PSession session, long expires, SendMessageStatusListener listener)For asynchronous notification- Parameters:
expires
- absolute time (not interval)- Since:
- 0.9.14
-
-
Method Details
-
receive
public void receive(int status) -
setMessageId
-
getMessageId
-
getElapsed
public long getElapsed() -
getExpires
public long getExpires()- Since:
- 0.9.14
-
waitForAccept
For guaranteed/best effort only. Not really used.- Throws:
InterruptedException
-
wasAccepted
public boolean wasAccepted()- Returns:
- true if accepted (fixme and not failed)
- Since:
- 0.9.14
-
wasSuccessful
public boolean wasSuccessful()- Returns:
- true if successful
- Since:
- 0.9.14
-
cancel
public void cancel()
-