|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.zookeeper.server.quorum.Leader
public class Leader
This class has the control logic for the Leader.
| Nested Class Summary | |
|---|---|
static class |
Leader.Proposal
|
static class |
Leader.XidRolloverException
|
| Field Summary | |
|---|---|
HashSet<LearnerHandler> |
forwardingFollowers
|
HashSet<LearnerHandler> |
learners
|
protected HashSet<LearnerHandler> |
observingLearners
|
HashMap<Long,List<LearnerSyncRequest>> |
pendingSyncs
|
static int |
PROPOSAL
This message type is sent by a leader to propose a mutation. |
| Method Summary | |
|---|---|
void |
commit(long zxid)
Create a commit packet and send it to all the members of the quorum |
long |
getEpoch()
Returns the current epoch of the leader. |
void |
inform(Leader.Proposal proposal)
Create an inform packet and send it to all observers. |
void |
processAck(long sid,
long zxid,
SocketAddress followerAddr)
Keep a count of acks that are received by the leader for a particular proposal |
void |
processSync(LearnerSyncRequest r)
Process sync requests |
Leader.Proposal |
propose(Request request)
create a proposal and send it out to all the members |
void |
sendSync(LearnerSyncRequest r)
Sends a sync message to the appropriate server |
long |
startForwarding(LearnerHandler handler,
long lastSeenZxid)
lets the leader know that a follower is capable of following and is done syncing |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public final HashSet<LearnerHandler> learners
public final HashSet<LearnerHandler> forwardingFollowers
protected final HashSet<LearnerHandler> observingLearners
public final HashMap<Long,List<LearnerSyncRequest>> pendingSyncs
public static final int PROPOSAL
| Method Detail |
|---|
public void processAck(long sid,
long zxid,
SocketAddress followerAddr)
zxid - the zxid of the proposal sent outfollowerAddr - public void commit(long zxid)
zxid - public void inform(Leader.Proposal proposal)
zxid - proposal - public long getEpoch()
public Leader.Proposal propose(Request request)
throws Leader.XidRolloverException
request -
Leader.XidRolloverExceptionpublic void processSync(LearnerSyncRequest r)
r - the requestpublic void sendSync(LearnerSyncRequest r)
f - r -
public long startForwarding(LearnerHandler handler,
long lastSeenZxid)
handler - handler of the follower
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||