У меня есть очередь из N
сообщений, отправленных Актером, я хочу использовать их все. Актер вернет либо тип Message
, либо тип NoMessages
, если очередь пуста.
Я придумал это, но не чувствую идиоматизма, и я не уверен, сколько потоков я раскручиваю каждый раз, когда звоню consume()
?
Как лучше это сделать?
def main(): Unit = {
val queue = system.actorOf(...)
def consume(): Unit = {
ask(queue, Read) foreach {
case Message(m) => {
// handle message
consume()
}
case NoMessages => {
system.shutdown()
}
}
}
consume()
}