From f317420a2afc9c7837f0d7dea781c72e68dfc9ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20K=C3=B6nnecke?= <simonkoennecke@gmail.com> Date: Tue, 19 Jul 2016 13:35:58 +0200 Subject: [PATCH] snapshot trigger on wallet gui will be create as wall a supervisor snapshot --- .../control/ActionSuperVisorCreateSnapshot.java | 11 ++++++----- src/main/java/fucoin/wallet/WalletImpl.java | 3 +++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/java/fucoin/actions/control/ActionSuperVisorCreateSnapshot.java b/src/main/java/fucoin/actions/control/ActionSuperVisorCreateSnapshot.java index 15d66e3..eecb801 100644 --- a/src/main/java/fucoin/actions/control/ActionSuperVisorCreateSnapshot.java +++ b/src/main/java/fucoin/actions/control/ActionSuperVisorCreateSnapshot.java @@ -19,16 +19,17 @@ public class ActionSuperVisorCreateSnapshot extends SuperVisorAction { @Override protected void onAction(ActorRef sender, ActorRef self, UntypedActorContext context, SuperVisorImpl abstractNode) { -// //write the snapshot -// if (!abstractNode.writeSnapshot(time)) { -// //snapshot already exists -// return; -// } + //write the snapshot + if (!abstractNode.writeSnapshot(time)) { + //snapshot already exists + return; + } // // //notify one in the network // for(ActorRef startPoint: abstractNode.getKnownNeighbors().values()) { // startPoint.tell(new ActionWalletCreateSnapshot(time), self); // break; // } + } } diff --git a/src/main/java/fucoin/wallet/WalletImpl.java b/src/main/java/fucoin/wallet/WalletImpl.java index fed7910..ab4e0e9 100644 --- a/src/main/java/fucoin/wallet/WalletImpl.java +++ b/src/main/java/fucoin/wallet/WalletImpl.java @@ -2,6 +2,7 @@ package fucoin.wallet; import akka.actor.*; import fucoin.actions.ClientAction; +import fucoin.actions.control.ActionSuperVisorCreateSnapshot; import fucoin.actions.control.ActionWalletCreateSnapshot; import fucoin.actions.join.ActionJoin; import fucoin.actions.join.ActionTellSupervisor; @@ -307,6 +308,8 @@ public class WalletImpl extends AbstractWallet { enableMessageForwarding(token, self()); + getRemoteSuperVisorActor().tell(new ActionSuperVisorCreateSnapshot(token), self()); + getKnownNeighbors().values().forEach(actorRef -> { actorRef.tell(new ActionWalletCreateSnapshot(token, self()), self()); }); -- GitLab