Mercurial > hg > Database > Christie
view src/main/java/christie/test/topology/paxos/acceptor/PromiseCodeGear.java @ 193:f4343de364da
fix paxos
author | akahori |
---|---|
date | Tue, 26 Feb 2019 18:33:49 +0900 |
parents | 2d0d41b648fa |
children |
line wrap: on
line source
package christie.test.topology.paxos.acceptor; 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 PromiseCodeGear extends CodeGear { @Take Proposal promisedProposal; @Take Proposal prepareProposal; Logger logger = LogManager.getLogger(PromiseCodeGear.class); public PromiseCodeGear(){ } @Override protected void run(CodeGearManager cgm) { if(promisedProposal.getNumber() < prepareProposal.getNumber()) { if(!promisedProposal.isAccepted()){ promisedProposal = prepareProposal; } } put("promisedProposal", promisedProposal); logger.debug("promise " + promisedProposal); put(prepareProposal.getProposerName(),"receivePromise", promisedProposal); cgm.setup(new PromiseCodeGear()); } }