-
Simon Könnecke authoredSimon Könnecke authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
DistributedCommittedTransferRequest.java 1.44 KiB
package fucoin.supervisor;
import akka.actor.ActorRef;
import akka.actor.UntypedActorContext;
import fucoin.actions.transaction.Transaction;
import fucoin.wallet.AbstractWallet;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;
public class DistributedCommittedTransferRequest extends Transaction {
private final static Random random = new Random(System.currentTimeMillis() + System.nanoTime());
private ActorRef source;
private ActorRef target;
private long timeout;
private long id;
private List<ActorRef> answers = new LinkedList<>();
public DistributedCommittedTransferRequest(ActorRef source, ActorRef target,
long timeout) {
this.source = source;
this.target = target;
this.timeout = timeout;
this.id = random.nextLong();
}
@Override
protected void onAction(ActorRef sender, ActorRef self,
UntypedActorContext context, AbstractWallet wallet) {
}
public ActorRef getSource() {
return source;
}
public ActorRef getTarget() {
return target;
}
public long getTimeout() {
return timeout;
}
public int addPositiveAnswer(ActorRef sender) {
answers.add(sender);
return answers.size();
}
public List<ActorRef> getAnswers() {
return answers;
}
public long getId() {
return id;
}
}