Class AssignTimeout

java.lang.Object
org.miaixz.bus.core.io.timout.Timeout
org.miaixz.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()
      Timeout 此实例当前正在委托给的实例
    • setDelegate

      public final AssignTimeout setDelegate(Timeout delegate)
    • timeout

      public Timeout timeout(long timeout, TimeUnit unit)
      Description copied from class: Timeout
      最多等待 timeout 时间,然后中止操作。 使用每个操作超时意味着只要向前推进,任何操作序列都不会失败。
      Overrides:
      timeout in class Timeout
      Parameters:
      timeout - 超时时间
      unit - 时间单位
      Returns:
      Timeout
    • timeoutNanos

      public long timeoutNanos()
      Description copied from class: Timeout
      返回以纳秒为单位的超时时间,或 0 表示无超时。
      Overrides:
      timeoutNanos in class Timeout
    • hasDeadline

      public boolean hasDeadline()
      Description copied from class: Timeout
      如果启用了截止期限,则返回 true
      Overrides:
      hasDeadline in class Timeout
    • deadlineNanoTime

      public long deadlineNanoTime()
      Description copied from class: Timeout
      返回截止期限的 System.nanoTime()
      Overrides:
      deadlineNanoTime in class Timeout
    • deadlineNanoTime

      public Timeout deadlineNanoTime(long deadlineNanoTime)
      Description copied from class: Timeout
      设置达到截止期限的 System.nanoTime() 所有操作必须在此时间之前完成。使用截止期限来设置一系列操作所花费时间的最大限度。
      Overrides:
      deadlineNanoTime in class Timeout
    • clearTimeout

      public Timeout clearTimeout()
      Description copied from class: Timeout
      清除超时
      Overrides:
      clearTimeout in class Timeout
    • clearDeadline

      public Timeout clearDeadline()
      Description copied from class: Timeout
      清除最后期限
      Overrides:
      clearDeadline in class Timeout
    • throwIfReached

      public void throwIfReached() throws IOException
      Description copied from class: Timeout
      如果已达到截止时间或当前线程已中断,则抛出 InterruptedIOException。 此方法不检测超时;应实施超时以异步中止正在进行的操作
      Overrides:
      throwIfReached in class Timeout
      Throws:
      IOException