Package org.apache.lucene.index

# Class QueryTimeoutImpl

java.lang.Object
org.apache.lucene.index.QueryTimeoutImpl

All Implemented Interfaces:
  `QueryTimeout`

public class QueryTimeoutImpl extends Object implements QueryTimeout
An implementation of `QueryTimeout` that can be used by the `ExitableDirectoryReader` class to time out and exit out when a query takes a long time to rewrite.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `QueryTimeoutImpl(long timeAllowed)`
  Sets the time at which to time out by adding the given timeAllowed to the current time.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Long`
  `getTimeoutAt()`
  Returns time at which to time out, in nanoseconds relative to the (JVM-specific) epoch for `System.nanoTime()`, to compare with the value returned by `nanoTime()`.
  `void`
  `reset()`
  Reset the timeout value.
  `boolean`
  `shouldExit()`
  Return true if `reset()` has not been called and the elapsed time has exceeded the time allowed.
  `String`
  `toString()`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### QueryTimeoutImpl

    public QueryTimeoutImpl(long timeAllowed)
    Sets the time at which to time out by adding the given timeAllowed to the current time.
    Parameters:
      `timeAllowed` - Number of milliseconds after which to time out. Use `Long.MAX_VALUE` to effectively never time out.

- ## Method Details

  - ### getTimeoutAt

    public Long getTimeoutAt()
    Returns time at which to time out, in nanoseconds relative to the (JVM-specific) epoch for `System.nanoTime()`, to compare with the value returned by `nanoTime()`.

  - ### shouldExit

    public boolean shouldExit()
    Return true if `reset()` has not been called and the elapsed time has exceeded the time allowed.
    Specified by:
      `shouldExit` in interface `QueryTimeout`
    Returns:
      true if the query should stop, false otherwise

  - ### reset

    public void reset()
    Reset the timeout value.

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`