Removed cross layer dependencies

- akka protocol treats upper layer messages as raw bytes now
 - deserialization for received messages no longer use localAddressForRemote
This commit is contained in:
Endre Sándor Varga 2012-11-21 15:58:01 +01:00
parent 682abccf7e
commit d03d98b6ab
10 changed files with 138 additions and 211 deletions

View file

@ -188,6 +188,19 @@ class RemoteActorRefProvider(
case _ local.actorFor(ref, path)
}
/*
* INTERNAL API
* Called in deserialization of incoming remote messages. In this case the correct local address is known, therefore
* this method is faster than the actorFor above.
*/
def actorForWithLocalAddress(ref: InternalActorRef, path: String, localAddress: Address): InternalActorRef = path match {
case ActorPathExtractor(address, elems)
if (isSelfAddress(address)) actorFor(rootGuardian, elems)
else new RemoteActorRef(this, transport, localAddress,
new RootActorPath(address) / elems, Nobody, props = None, deploy = None)
case _ local.actorFor(ref, path)
}
def actorFor(ref: InternalActorRef, path: Iterable[String]): InternalActorRef = local.actorFor(ref, path)
/**