You must either forward send the message to the slaves (which store the same sender), or include the sender in the message to the slaves. For instance:
def receive = { case Calculate => slave ! CalculateWithSender(sender) case res @ Result(value, originalSender) => val result = resultMap(originalSender) + res
or
def receive = { case Calculate => slave.forward(Calculate) case res @ Result(value, originalSender) => val result = resultMap(originalSender) + res
or
def receive = { case Calculate => slave.tell(Calculate, sender) case res @ Result(value, originalSender) => val result = resultMap(originalSender) + res
I am not familiar with Play promises, but ? ( ask ) returns Akka Future . If .asPromise converts Akka Future to Play Promise , then you install.
source share