Decide what to do when a result takes too long.

Timeout Choice

TimeoutChoice.scala
object Main {
  def main(args: Array[String]): Unit = {
    val elapsed = 
    val limit = 100
    val inTime = elapsed <= limit
    val status = if (inTime) "in-time" else "timeout"
    val action = if (inTime) "use-result" else "use-fallback"

    println("elapsed=" + elapsed)
    println("limit=" + limit)
    println("status=" + status)
    println("action=" + action)
  }
}
object Main {
  def main(args: Array[String]): Unit = {
    val elapsed = 
    val limit = 100
    val inTime = elapsed <= limit
    val status = if (inTime) "in-time" else "timeout"
    val action = if (inTime) "use-result" else "use-fallback"

    println("elapsed=" + elapsed)
    println("limit=" + limit)
    println("status=" + status)
    println("action=" + action)
  }
}
object Main {
  def main(args: Array[String]): Unit = {
    val elapsed = 
    val limit = 100
    val inTime = elapsed <= limit
    val status = if (inTime) "in-time" else "timeout"
    val action = if (inTime) "use-result" else "use-fallback"

    println("elapsed=" + elapsed)
    println("limit=" + limit)
    println("status=" + status)
    println("action=" + action)
  }
}
timeout-choice A timeout is a policy decision. The example compares fixed scalar values and chooses either the normal result path or a fallback path.