Mercurial > hg > Database > Christie
view src/main/java/christie/test/topology/paxos/acceptor/PromiseCodeGear.java @ 159:a0391cfdcef6
update topologymanager
author | akahori |
---|---|
date | Mon, 21 Jan 2019 18:02:49 +0900 |
parents | src/main/java/christie/test/Paxos/acceptor/PromiseCodeGear.java@7a2108775da7 |
children | 33b4966d4d24 |
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; public class PromiseCodeGear extends CodeGear { @Take Proposal promisedProposal; @Take Proposal prepareProposal; public PromiseCodeGear(){ } @Override protected void run(CodeGearManager cgm) { if(promisedProposal.getNumber() < prepareProposal.getNumber()) { if(promisedProposal.isAccepted()){ promisedProposal.setNumber(prepareProposal.getNumber()); }else{ promisedProposal = prepareProposal; } } put("promisedProposal", promisedProposal); put(prepareProposal.getProposerName(),"receivePromise", promisedProposal); cgm.setup(new PromiseCodeGear()); } }