Class TimeLimitingCollector.TimerThread

  • All Implemented Interfaces:
    Runnable
    Enclosing class:
    TimeLimitingCollector

    public static final class TimeLimitingCollector.TimerThread
    extends Thread
    Thread used to timeout search requests. Can be stopped completely with stopTimer()
    WARNING: This API is experimental and might change in incompatible ways in the next release.
    • Constructor Detail

      • TimerThread

        public TimerThread​(long resolution,
                           Counter counter)
      • TimerThread

        public TimerThread​(Counter counter)
    • Method Detail

      • run

        public void run()
        Specified by:
        run in interface Runnable
        Overrides:
        run in class Thread
      • getMilliseconds

        public long getMilliseconds()
        Get the timer value in milliseconds.
      • stopTimer

        public void stopTimer()
        Stops the timer thread
      • getResolution

        public long getResolution()
        Return the timer resolution.
        See Also:
        setResolution(long)
      • setResolution

        public void setResolution​(long resolution)
        Set the timer resolution. The default timer resolution is 20 milliseconds. This means that a search required to take no longer than 800 milliseconds may be stopped after 780 to 820 milliseconds.
        Note that:
        • Finer (smaller) resolution is more accurate but less efficient.
        • Setting resolution to less than 5 milliseconds will be silently modified to 5 milliseconds.
        • Setting resolution smaller than current resolution might take effect only after current resolution. (Assume current resolution of 20 milliseconds is modified to 5 milliseconds, then it can take up to 20 milliseconds for the change to have effect.