Imrovements from feedback. See #1755

This commit is contained in:
Patrik Nordwall 2012-05-15 17:16:46 +02:00
parent 6dd017d6c1
commit 793af8b4ec
3 changed files with 12 additions and 2 deletions

View file

@ -35,7 +35,7 @@ class DaemonMsgCreateSerializer(val system: ExtendedActorSystem) extends Seriali
import ProtobufSerializer.serializeActorRef
import ProtobufSerializer.deserializeActorRef
def includeManifest: Boolean = true
def includeManifest: Boolean = false
def identifier = 3
lazy val serialization = SerializationExtension(system)

View file

@ -17,7 +17,7 @@ class DaemonMsgWatchSerializer(val system: ExtendedActorSystem) extends Serializ
import ProtobufSerializer.serializeActorRef
import ProtobufSerializer.deserializeActorRef
def includeManifest: Boolean = true
def includeManifest: Boolean = false
def identifier = 4
def toBinary(obj: AnyRef): Array[Byte] = obj match {

View file

@ -11,6 +11,11 @@ import akka.actor.ActorSystem
import akka.actor.ActorRef
object ProtobufSerializer {
/**
* Helper to serialize an [[akka.actor.ActorRef]] to Akka's
* protobuf representation.
*/
def serializeActorRef(ref: ActorRef): ActorRefProtocol = {
val identifier: String = Serialization.currentTransportAddress.value match {
case null ref.path.toString
@ -19,6 +24,11 @@ object ProtobufSerializer {
ActorRefProtocol.newBuilder.setPath(identifier).build
}
/**
* Helper to materialize (lookup) an [[akka.actor.ActorRef]]
* from Akka's protobuf representation in the supplied
* [[akka.actor.ActorSystem].
*/
def deserializeActorRef(system: ActorSystem, refProtocol: ActorRefProtocol): ActorRef =
system.actorFor(refProtocol.getPath)
}