Guest User

Untitled

a guest
Jul 15th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. /**
  2. * Publishes all registered local actor as a remote ref on all
  3. * linked remote registries
  4. */
  5. trait InlifeActorRefsDistribution extends RegistryActor{
  6.  
  7. override def specificMessageHandler = {
  8. case ActorRegistered(actor) =>
  9. log.debug("Actor [%s] is registered" format(actor))
  10. registerOnLinks(actor)
  11.  
  12. case ActorUnregistered(actor) =>
  13. log.debug("Actor [%s] is unregistered" format(actor))
  14. if(isActorLocal(actor))
  15. actor.id match {
  16. case REGISTRY_ACTOR => ActorRegistry.foreach(act =>
  17. if(act.getClass.isAssignableFrom(classOf[LocalActorRef]))
  18. unregisterOnLinks(act))
  19. case _ => unregisterOnLinks(actor)
  20. }
  21. }
  22.  
  23. /**
  24. * Makes the actor remote, and registers at remote nodes
  25. */
  26. private def registerOnLinks(actor: ActorRef) =
  27. if(isActorLocal(actor)){
  28. ...
  29. val iterator = linkedRegistries.values.iterator
  30. while(iterator.hasNext) iterator.next ! RegisterActor(actor)
  31. }
  32.  
  33. ...
  34.  
  35. }
Add Comment
Please, Sign In to add comment