java.lang.Object
net.i2p.util.SimpleTimer2.TimedEvent
net.i2p.router.transport.udp.PeerState2.ACKTimer
- All Implemented Interfaces:
Runnable
- Enclosing class:
PeerState2
A timer to send an ack-only packet.
Field Summary
Fields inherited from class SimpleTimer2.TimedEvent
_state, DEFAULT_FUZZModifier and TypeFieldDescriptionprotected SimpleTimer2.TimedEventStateState of the current event.protected static final intDefault fuzz threshold in milliseconds.Constructor Summary
ConstructorsMethod Summary
All MethodsModifier and TypeMethodDescriptionvoidschedule()Ack soon, based on the current RTT.voidAck almost immediately.voidSend an ack-only packet, unless acks were already sent as indicated by _wantACKSendSince == 0.Methods inherited from class SimpleTimer2.TimedEvent
cancel, forceReschedule, reschedule, reschedule, run, schedule, setFuzz, setPool, toStringModifier and TypeMethodDescriptionbooleancancel()Cancel the timed event.voidforceReschedule(long timeoutMs) Always use the new time - ignores fuzz.voidreschedule(long timeoutMs) Use the earliest of the new time and the old time May be called from within timeReached(), but schedule() is better there.voidreschedule(long timeoutMs, boolean useEarliestTime) May be called from within timeReached(), but schedule() is better there.voidrun()voidschedule(long timeoutMs) Schedule this event.voidsetFuzz(int fuzz) Reschedule threshold in ms.voidsetPool(SimpleTimer2 pool) Timer pool for this event.toString()Timer summary for log messages.
Constructor Details
ACKTimer
public ACKTimer()Caller must schedule.
Method Details
schedule
public void schedule()Ack soon, based on the current RTT.scheduleImmediate
public void scheduleImmediate()Ack almost immediately.timeReached
public void timeReached()Send an ack-only packet, unless acks were already sent as indicated by _wantACKSendSince == 0. Will not requeue unless the acks don't all fit (unlikely).- Specified by:
timeReachedin classSimpleTimer2.TimedEvent