Package net.i2p.client.impl
Class MessageState
java.lang.Object
net.i2p.client.impl.MessageState
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
ConstructorDescriptionMessageState
(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 TypeMethodDescriptionvoid
cancel()
long
long
void
receive
(int status) void
void
waitForAccept
(long expiration) For guaranteed/best effort only.boolean
boolean
-
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()
-