Como descobrir que um ator remoto do Scala morreu?

No Scala, um ator pode ser notificado quando outro ator (remoto) terminar, definindo o sinalizador trapExit e invocando o método link () com o segundo ator como parâmetro. Nesse caso, quando o agente remoto termina seu trabalho chamando exit (), o primeiro é notificado ao receber uma mensagem de saída.

Mas o que acontece quando o ator remoto termina de uma maneira menos elegante (por exemplo, a VM em que está sendo executada falha)? Em outras palavras, como o ator local pode descobrir que o remoto não está mais disponível? É claro que eu preferiria (se possível) que o ator local pudesse ser notificado por uma mensagem semelhante à Saída, mas isso não é viável. Estou esquecendo de algo? Devo pesquisar continuamente o estado do ator remoto (e, neste caso, não sei qual é a melhor maneira de fazer isso) ou existe uma solução mais inteligente?

questionAnswers(2)

yourAnswerToTheQuestion