package fucoin.actions.persist; import akka.actor.ActorRef; import akka.actor.UntypedActorContext; import fucoin.wallet.AbstractWallet; public class ActionInvokeLeave extends Persist { @Override protected void onAction(ActorRef sender, ActorRef self, UntypedActorContext context, AbstractWallet wallet) { for (ActorRef neighbor : wallet.getKnownNeighbors().values()) { if (self.compareTo(neighbor) != 0) { neighbor.tell(new ActionStoreOrUpdate(wallet), self); } } wallet.setActive(false); wallet.backedUpNeighbors.clear(); wallet.getKnownNeighbors().clear(); } }