Fix for local actor ref home address

- home address is set on deserialization
- flag for client-managed actor ref so that having
  a home address doesn't imply client-managed
This commit is contained in:
Peter Vlugter 2011-02-04 15:14:49 +13:00
parent ad6498f3e1
commit 6a93610bda
5 changed files with 23 additions and 23 deletions

View file

@ -206,6 +206,11 @@ object ActorSerialization {
else actorClass.newInstance.asInstanceOf[Actor]
}
val homeAddress = {
val address = protocol.getOriginalAddress
Some(new InetSocketAddress(address.getHostname, address.getPort))
}
val ar = new LocalActorRef(
uuidFrom(protocol.getUuid.getHigh, protocol.getUuid.getLow),
protocol.getId,
@ -215,7 +220,7 @@ object ActorSerialization {
supervisor,
hotswap,
factory,
None) //TODO: shouldn't originalAddress be optional?
homeAddress)
val messages = protocol.getMessagesList.toArray.toList.asInstanceOf[List[RemoteMessageProtocol]]
messages.foreach(message => ar ! MessageSerializer.deserialize(message.getMessage))