Class AssignTimeout

java.lang.Object
org.aoju.bus.core.io.timout.Timeout
org.aoju.bus.core.io.timout.AssignTimeout

public class AssignTimeout extends Timeout
将调用转发给另一个调用的 Timeout.
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • AssignTimeout

      public AssignTimeout(Timeout delegate)
  • Method Details

    • delegate

      public final Timeout delegate()
    • setDelegate

      public final AssignTimeout setDelegate(Timeout delegate)
    • timeout

      public Timeout timeout(long timeout, TimeUnit unit)
      Overrides:
      timeout in class Timeout
      Parameters:
      timeout - long
      unit - TimeUnit
      Returns:
      timeout

      Wait at most timeout time before aborting an operation. Using a per-operation timeout means that as long as forward progress is being made, no sequence of operations will fail.

      If timeout == 0, operations will run indefinitely. (Operating system timeouts may still apply.)

    • timeoutNanos

      public long timeoutNanos()
      Overrides:
      timeoutNanos in class Timeout
      Returns:
      the timeout in nanoseconds, or 0 for no timeout.
    • hasDeadline

      public boolean hasDeadline()
      Overrides:
      hasDeadline in class Timeout
      Returns:
      hasDeadline true if a deadline is enabled.
    • deadlineNanoTime

      public long deadlineNanoTime()
      Overrides:
      deadlineNanoTime in class Timeout
      Returns:
      deadlineNanoTime Returns the nano time when the deadline will be reached.
    • deadlineNanoTime

      public Timeout deadlineNanoTime(long deadlineNanoTime)
      Overrides:
      deadlineNanoTime in class Timeout
      Parameters:
      deadlineNanoTime - long
      Returns:
      timeout Sets the nano time when the deadline will be reached. All operations must complete before this time. Use a deadline to set a maximum bound on the time spent on a sequence of operations.
    • clearTimeout

      public Timeout clearTimeout()
      Overrides:
      clearTimeout in class Timeout
      Returns:
      this Clears the timeout. Operating system timeouts may still apply.
    • clearDeadline

      public Timeout clearDeadline()
      Overrides:
      clearDeadline in class Timeout
      Returns:
      this Clears the deadline.
    • throwIfReached

      public void throwIfReached() throws IOException
      Description copied from class: Timeout
      Throws an InterruptedIOException if the deadline has been reached or if the current thread has been interrupted. This method doesn't detect timeouts; that should be implemented to asynchronously abort an in-progress operation.
      Overrides:
      throwIfReached in class Timeout
      Throws:
      IOException - 抛出异常