Class AbstractTimeoutHandler

  • Direct Known Subclasses:
    PeerSocketHandler

    public abstract class AbstractTimeoutHandler
    extends java.lang.Object

    A base class which provides basic support for socket timeouts. It is used instead of integrating timeouts into the NIO select thread both for simplicity and to keep code shared between NIO and blocking sockets as much as possible.

    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected void resetTimeout()
      Resets the current progress towards timeout to 0.
      void setSocketTimeout​(int timeoutMillis)
      Sets the receive timeout to the given number of milliseconds, automatically killing the connection if no messages are received for this long
      void setTimeoutEnabled​(boolean timeoutEnabled)
      Enables or disables the timeout entirely.
      protected abstract void timeoutOccurred()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AbstractTimeoutHandler

        public AbstractTimeoutHandler()
    • Method Detail

      • setTimeoutEnabled

        public final void setTimeoutEnabled​(boolean timeoutEnabled)

        Enables or disables the timeout entirely. This may be useful if you want to store the timeout value but wish to temporarily disable/enable timeouts.

        The default is for timeoutEnabled to be true but timeoutMillis to be set to 0 (ie disabled).

        This call will reset the current progress towards the timeout.

      • setSocketTimeout

        public final void setSocketTimeout​(int timeoutMillis)

        Sets the receive timeout to the given number of milliseconds, automatically killing the connection if no messages are received for this long

        A timeout of 0 is interpreted as no timeout.

        The default is for timeoutEnabled to be true but timeoutMillis to be set to 0 (ie disabled).

        This call will reset the current progress towards the timeout.

      • resetTimeout

        protected void resetTimeout()
        Resets the current progress towards timeout to 0.
      • timeoutOccurred

        protected abstract void timeoutOccurred()