view src/main/java/christie/test/topology/paxos/proposer/RecieveAcceptedCodeGear.java @ 189:9b0a7f8dde81

refactor proposer
author akahori
date Tue, 12 Feb 2019 11:12:48 +0900
parents 33b4966d4d24
children
line wrap: on
line source

package christie.test.topology.paxos.proposer;

import christie.annotation.Take;
import christie.codegear.CodeGear;
import christie.codegear.CodeGearManager;
import christie.test.topology.paxos.Proposal;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class RecieveAcceptedCodeGear extends CodeGear {

    @Take
    Proposal acceptedProposal;

    //@Take
    Proposal sendedProposal;

    Logger logger = LogManager.getLogger(RecieveAcceptedCodeGear.class);

    public RecieveAcceptedCodeGear(Proposal sendedProposal){
        this.sendedProposal = sendedProposal;
    }

    @Override
    protected void run(CodeGearManager cgm) {
        if(!acceptedProposal.isAccepted()){
            //put("sendProposal", sendedProposal);
            //logger.debug("transition send preparerequest");
            cgm.setup(new SendPrepareRequestCodeGear(sendedProposal));
        }else{
            //logger.debug("accepted " + sendedProposal);
            cgm.setup(new RecieveAcceptedCodeGear(sendedProposal));
        }
    }
}