Procesamiento incremental en un actor akka
Tengo actores que necesitan hacer un trabajo de larga duración y computacionalmente costoso, pero la computación en sí misma puede hacerse de manera incremental. Entonces, mientras que la computación completa en sí misma toma horas en completarse, los resultados intermedios son en realidad extremadamente útiles, y me gustaría poder responder a cualquier solicitud de ellos. Este es el pseudo código de lo que quiero hacer:
var intermediateResult = ...
loop {
while (mailbox.isEmpty && computationNotFinished)
intermediateResult = computationStep(intermediateResult)
receive {
case GetCurrentResult => sender ! intermediateResult
...other messages...
}
}