Rebased from master

This commit is contained in:
Jonas Bonér 2011-04-27 00:38:10 +02:00
parent b041329b98
commit 2e7c76dd98
22 changed files with 69 additions and 793 deletions

View file

@ -157,11 +157,11 @@ object ActorSerialization {
}
private def fromBinaryToLocalActorRef[T <: Actor](
bytes: Array[Byte],
homeAddress: Option[InetSocketAddress],
bytes: Array[Byte],
homeAddress: Option[InetSocketAddress],
format: Format[T]): ActorRef = {
val builder = SerializedActorRefProtocol.newBuilder.mergeFrom(bytes)
homeAddress.foreach { addr =>
homeAddress.foreach { addr =>
val addressProtocol = AddressProtocol.newBuilder.setHostname(addr.getAddress.getHostAddress).setPort(addr.getPort).build
builder.setOriginalAddress(addressProtocol)
}
@ -205,10 +205,11 @@ object ActorSerialization {
else actorClass.newInstance.asInstanceOf[Actor]
}
/* TODO Can we remove originalAddress from the protocol?
val homeAddress = {
val address = protocol.getOriginalAddress
Some(new InetSocketAddress(address.getHostname, address.getPort))
}
}*/
val ar = new LocalActorRef(
uuidFrom(protocol.getUuid.getHigh, protocol.getUuid.getLow),
@ -218,8 +219,7 @@ object ActorSerialization {
lifeCycle,
supervisor,
hotswap,
factory,
homeAddress)
factory)
val messages = protocol.getMessagesList.toArray.toList.asInstanceOf[List[RemoteMessageProtocol]]
messages.foreach(message => ar ! MessageSerializer.deserialize(message.getMessage))