net.i2p.client.streaming
Class SchedulerClosing
java.lang.Object
net.i2p.client.streaming.SchedulerImpl
net.i2p.client.streaming.SchedulerClosing
- All Implemented Interfaces:
- TaskScheduler
- class SchedulerClosing
- extends SchedulerImpl
Scheduler used for after both SYNs have been ACKed and both sides
have closed the stream, but either we haven't ACKed their close or
they haven't ACKed ours.
Entry conditions:
- Both sides have closed.
- At least one direction has not ACKed the close.
Events:
- Packets received (which may or may not ACK the ones sent)
- RESET received
- Message sending fails (error talking to the session)
- Message sending fails (too many resends)
Next states:
closed
- after both sending and receiving ACKs on the CLOSE
dead
- after sending or receiving a RESET
Method Summary |
boolean |
accept(Connection con)
Determine whether this scheduler is fit to operate against the
given connection |
void |
eventOccurred(Connection con)
An event has occurred (timeout, message sent, or message received),
so schedule what to do next based on our current state. |
protected void |
reschedule(long msToWait,
Connection con)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
_context
protected I2PAppContext _context
SchedulerClosing
public SchedulerClosing(I2PAppContext ctx)
accept
public boolean accept(Connection con)
- Description copied from interface:
TaskScheduler
- Determine whether this scheduler is fit to operate against the
given connection
eventOccurred
public void eventOccurred(Connection con)
- Description copied from interface:
TaskScheduler
- An event has occurred (timeout, message sent, or message received),
so schedule what to do next based on our current state.
reschedule
protected void reschedule(long msToWait,
Connection con)