Fixing ticket #837, broken remote actor refs when serialized

This commit is contained in:
Viktor Klang 2011-05-04 18:00:24 +02:00
parent d8add4c68c
commit 276f30d30f

View file

@ -260,7 +260,15 @@ object RemoteActorSerialization {
/**
* Serializes the ActorRef instance into a Protocol Buffers (protobuf) Message.
*/
def toRemoteActorRefProtocol(ar: ActorRef): RemoteActorRefProtocol = {
def toRemoteActorRefProtocol(actor: ActorRef): RemoteActorRefProtocol = actor match {
case r: RemoteActorRef =>
RemoteActorRefProtocol.newBuilder
.setClassOrServiceName(r.id)
.setActorClassname(r.actorClassName)
.setHomeAddress(ActorSerialization.toAddressProtocol(r))
.setTimeout(r.timeout)
.build
case ar: LocalActorRef =>
import ar._
Actor.remote.registerByUuid(ar)