Package net.i2p.util
Class SocketTimeout
- java.lang.Object
-
- net.i2p.util.SimpleTimer2.TimedEvent
-
- net.i2p.util.SocketTimeout
-
- All Implemented Interfaces:
Runnable
public class SocketTimeout extends SimpleTimer2.TimedEvent
Implements one or two timers; one for inactivity, that is reset by resetTimer(), and optionally, a total time since instantiation, that is configured by setTotalTimeoutPeriod(). On timer expiration, this will close a provided socket, and/or run a configured job. Deprecated for external use. It is only used by EepGet, its subclasses, and Syndie. Take care not to break Syndie. The only advantage seems to be a total timeout period, which is the second argument to EepGet.fetch(headerTimeout, totalTimeout, inactivityTimeout), which is most likely always set to -1. Not for use by plugins or external applications, subject to change. Use socket.setsotimeout instead?
-
-
Field Summary
-
Fields inherited from class net.i2p.util.SimpleTimer2.TimedEvent
_state, DEFAULT_FUZZ
-
-
Constructor Summary
Constructors Constructor Description SocketTimeout(long delay)SocketTimeout(Socket socket, long delay)If socket is non-null, or is set later by setSocket(), it will be closed when the timer expires.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancancel()Change in return value from void to boolean in 0.9.3 accidentally broke Syndie, sorry.voidresetTimer()Call when there is activityvoidsetInactivityTimeout(long delay)Changes the delay provided in the constructorvoidsetSocket(Socket s)If non-null, will be closed when the timer expires.voidsetTimeoutCommand(Runnable job)If non-null, will be run when the timer expires.voidsetTotalTimeoutPeriod(long timeoutPeriod)If greater than zero, must be greater than the inactivity timeout.voidtimeReached()Simple interface for events to be queued up and notified on expiration the time requested has been reached (this call should NOT block, otherwise the whole SimpleTimer gets backed up)StringtoString()-
Methods inherited from class net.i2p.util.SimpleTimer2.TimedEvent
forceReschedule, reschedule, reschedule, run, schedule, setFuzz
-
-
-
-
Constructor Detail
-
SocketTimeout
public SocketTimeout(long delay)
- Parameters:
delay- The inactivity delay, greater than zero
-
SocketTimeout
public SocketTimeout(Socket socket, long delay)
If socket is non-null, or is set later by setSocket(), it will be closed when the timer expires.- Parameters:
socket- may be nulldelay- The inactivity delay, greater than zero
-
-
Method Detail
-
timeReached
public void timeReached()
Description copied from class:SimpleTimer2.TimedEventSimple interface for events to be queued up and notified on expiration the time requested has been reached (this call should NOT block, otherwise the whole SimpleTimer gets backed up)- Specified by:
timeReachedin classSimpleTimer2.TimedEvent
-
cancel
public boolean cancel()
Change in return value from void to boolean in 0.9.3 accidentally broke Syndie, sorry. Recompile Syndie to fix it.- Overrides:
cancelin classSimpleTimer2.TimedEvent- Returns:
- true if cancelled
-
setSocket
public void setSocket(Socket s)
If non-null, will be closed when the timer expires.
-
resetTimer
public void resetTimer()
Call when there is activity
-
setInactivityTimeout
public void setInactivityTimeout(long delay)
Changes the delay provided in the constructor- Parameters:
delay- greater than zero
-
setTotalTimeoutPeriod
public void setTotalTimeoutPeriod(long timeoutPeriod)
If greater than zero, must be greater than the inactivity timeout.- Parameters:
timeoutPeriod- Time since constructed, or less than or equal to zero to disable
-
setTimeoutCommand
public void setTimeoutCommand(Runnable job)
If non-null, will be run when the timer expires.
-
-