Scala Futures - construído em timeout?
existe um aspecto de futuros que eu não entendo exatamente a partir do tutorial oficial ref.http://docs.scala-lang.org/overviews/core/futures.html
Os futuros em scala têm algum mecanismo de tempo limite? Vamos supor que o exemplo abaixo tenha sido um arquivo de texto de 5 gigabytes ... o escopo implícito de "Implicits.global" eventualmente fará com que onFailure seja disparado de maneira não-bloqueante ou isso pode ser definido? E sem um tempo limite padrão de algum tipo, isso não implicaria que nem o sucesso nem o fracasso jamais iriam disparar?
import scala.concurrent._
import ExecutionContext.Implicits.global
val firstOccurence: Future[Int] = future {
val source = scala.io.Source.fromFile("myText.txt")
source.toSeq.indexOfSlice("myKeyword")
}
firstOccurence onSuccess {
case idx => println("The keyword first appears at position: " + idx)
}
firstOccurence onFailure {
case t => println("Could not process file: " + t.getMessage)
}