Class DisconnectedClientDetector

  • All Implemented Interfaces:
    java.lang.Runnable

    public class DisconnectedClientDetector
    extends java.lang.Thread
    This Thread attempts to detect disconnected clients. Every second it checks if since the last read of each client at least MAX_READ_THRESHOLD nanoseconds have passed. If so it tries to read 1 byte from its InputChannel which will trigger a disconnection process if the client has disconnected.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.lang.Thread

        java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
    • Field Summary

      • Fields inherited from class java.lang.Thread

        MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void run()  
      void setMaxReadThreshold​(long threshold)
      Sets the minimum time in nanoseconds to wait since the last read to check for disconnection.
      • Methods inherited from class java.lang.Thread

        activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
      • Methods inherited from class java.lang.Object

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

      • DisconnectedClientDetector

        public DisconnectedClientDetector​(Server server)
    • Method Detail

      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
        Overrides:
        run in class java.lang.Thread
      • setMaxReadThreshold

        public void setMaxReadThreshold​(long threshold)
        Sets the minimum time in nanoseconds to wait since the last read to check for disconnection. Default is 5 seconds (5.000.000.000 nano seconds)
        Parameters:
        threshold - time in nanoseconds to wait until checking