Skip to content
Snippets Groups Projects
DistributedCommittedTransferRequest.java 1.56 KiB
Newer Older
Michael Kmoch's avatar
Michael Kmoch committed
package fucoin.supervisor;

import akka.actor.ActorRef;
import akka.actor.UntypedActorContext;
import fucoin.actions.transaction.Transaction;
import fucoin.wallet.AbstractWallet;

Michael Kmoch's avatar
Michael Kmoch committed
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 List<ActorRef> answers = new LinkedList<>();
    public DistributedCommittedTransferRequest(ActorRef source, ActorRef target, int amount,
        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;
    }
Michael Kmoch's avatar
Michael Kmoch committed
}