summaryrefslogtreecommitdiff
path: root/same/src/main/java/com/orbekk/paxos/PaxosServiceImpl.java
diff options
context:
space:
mode:
authorKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-01-24 11:27:57 +0100
committerKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-01-24 11:27:57 +0100
commit5f36d81e47fd142ee7b7c172012917b11411db8d (patch)
tree74c85ea119184dd17dce7ce7f649433f04b6efb6 /same/src/main/java/com/orbekk/paxos/PaxosServiceImpl.java
parent263f3a0b4425287ef234d0dbf039e0027c4ad6c1 (diff)
Refactor Paxos: Return proposal values.
Diffstat (limited to 'same/src/main/java/com/orbekk/paxos/PaxosServiceImpl.java')
-rw-r--r--same/src/main/java/com/orbekk/paxos/PaxosServiceImpl.java14
1 files changed, 7 insertions, 7 deletions
diff --git a/same/src/main/java/com/orbekk/paxos/PaxosServiceImpl.java b/same/src/main/java/com/orbekk/paxos/PaxosServiceImpl.java
index 1e8387e..3ecf523 100644
--- a/same/src/main/java/com/orbekk/paxos/PaxosServiceImpl.java
+++ b/same/src/main/java/com/orbekk/paxos/PaxosServiceImpl.java
@@ -17,36 +17,36 @@ public class PaxosServiceImpl implements PaxosService {
}
@Override
- public synchronized boolean propose(String clientUrl,
+ public synchronized int propose(String clientUrl,
int proposalNumber) {
if (proposalNumber > highestPromise) {
- highestPromise = proposalNumber;
logger.info(tag + "propose({}, {}) = accepted",
new Object[]{clientUrl, proposalNumber});
- return true;
+ highestPromise = proposalNumber;
+ return highestPromise;
} else {
logger.info(tag + "propose({}, {}) = rejected " +
"(promised: {})",
new Object[]{clientUrl, proposalNumber,
highestPromise});
- return false;
+ return -highestPromise;
}
}
@Override
- public synchronized boolean acceptRequest(String clientUrl,
+ public synchronized int acceptRequest(String clientUrl,
int proposalNumber) {
if (proposalNumber == highestPromise) {
logger.info(tag + "acceptRequest({}, {}) = accepted",
new Object[]{clientUrl, proposalNumber});
highestAcceptedValue = proposalNumber;
- return true;
+ return highestAcceptedValue;
} else {
logger.info(tag + "acceptRequest({}, {}) = rejected " +
"(promise={})",
new Object[]{clientUrl, proposalNumber,
highestPromise});
- return false;
+ return -highestPromise;
}
}
}