diff --git a/src/main/java/fucoin/actions/control/ActionSuperVisorCreateSnapshot.java b/src/main/java/fucoin/actions/control/ActionSuperVisorCreateSnapshot.java index 15d66e3999a9782e9ceedd2a77ab1e47a0d33048..eecb8016110df9bf9e0fae51bd6aa12bf4d9ea17 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 fed79109bc711fa362e65a58d79dd7a56a93a520..ab4e0e9146ff2c2b49a2ae39fe47a87fcccbc952 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()); });