-
Simon Könnecke authoredSimon Könnecke authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
ActionUpdateQueue.java 1.08 KiB
package fucoin.supervisor;
import java.util.List;
import akka.actor.ActorRef;
import akka.actor.UntypedActorContext;
import fucoin.actions.transaction.ActionCommitDistributedCommitedTransfer;
import fucoin.actions.transaction.SuperVisorAction;
public class ActionUpdateQueue extends SuperVisorAction{
@Override
protected void onAction(ActorRef sender, ActorRef self,
UntypedActorContext context, SuperVisorImpl superVisor) {
List<DistributedCommitedTransferRequest> deletes = superVisor.updateList();
for(DistributedCommitedTransferRequest outdatedRequest : deletes){
ActionCommitDistributedCommitedTransfer acdct = new ActionCommitDistributedCommitedTransfer(outdatedRequest);
for(ActorRef neighbor : superVisor.getKnownNeighbors().values()){
neighbor.tell(acdct, self);
}
}
sleep(self,context,1000);
self.tell(this, self);
}
private void sleep(ActorRef self, UntypedActorContext context, int sleeptime) {
try {
context.unwatch(self);
Thread.sleep(sleeptime);
context.watch(self);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}