Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Publishes all registered local actor as a remote ref on all
- * linked remote registries
- */
- trait InlifeActorRefsDistribution extends RegistryActor{
- override def specificMessageHandler = {
- case ActorRegistered(actor) =>
- log.debug("Actor [%s] is registered" format(actor))
- registerOnLinks(actor)
- case ActorUnregistered(actor) =>
- log.debug("Actor [%s] is unregistered" format(actor))
- if(isActorLocal(actor))
- actor.id match {
- case REGISTRY_ACTOR => ActorRegistry.foreach(act =>
- if(act.getClass.isAssignableFrom(classOf[LocalActorRef]))
- unregisterOnLinks(act))
- case _ => unregisterOnLinks(actor)
- }
- }
- /**
- * Makes the actor remote, and registers at remote nodes
- */
- private def registerOnLinks(actor: ActorRef) =
- if(isActorLocal(actor)){
- ...
- val iterator = linkedRegistries.values.iterator
- while(iterator.hasNext) iterator.next ! RegisterActor(actor)
- }
- ...
- }
Add Comment
Please, Sign In to add comment