package fucoin.actions.join; import akka.actor.ActorRef; import akka.actor.UntypedActorContext; import fucoin.actions.transaction.ActionInvokeDistributedCommittedTransfer; import fucoin.actions.transaction.SuperVisorAction; import fucoin.supervisor.SuperVisorImpl; public class ServerActionJoin extends SuperVisorAction { private String name; public ServerActionJoin(String name) { this.name = name; } @Override protected void onAction(ActorRef sender, ActorRef self, UntypedActorContext context, SuperVisorImpl node) { ActionJoinAnswer aja = new ActionJoinAnswer(node.getSelf()); aja.someNeighbors.putAll(node.getKnownNeighbors()); sender.tell(aja, self); node.addKnownNeighbor(name, sender); self.tell( new ActionInvokeDistributedCommittedTransfer(self, sender, 100), sender); } }