|
||||||||||
| 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 | |
|---|---|
static int |
ACKEPOCH
This message is used by the follow to ack a proposed epoch. |
static int |
LEADERINFO
This message is the first that a follower receives from the leader. |
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. |
long |
getEpochToPropose(long sid,
long lastAcceptedEpoch)
|
List<LearnerHandler> |
getForwardingFollowers()
Returns a copy of the current forwarding follower snapshot |
List<LearnerHandler> |
getLearners()
Returns a copy of the current learner snapshot |
int |
getNumPendingSyncs()
|
List<LearnerHandler> |
getObservingLearners()
Returns a copy of the current observer snapshot |
static String |
getPacketType(int packetType)
Get string representation of a given packet type |
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 |
void |
waitForEpochAck(long id,
StateSummary ss)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int LEADERINFO
public static final int ACKEPOCH
public static final int PROPOSAL
| Method Detail |
|---|
public List<LearnerHandler> getLearners()
public List<LearnerHandler> getForwardingFollowers()
public List<LearnerHandler> getObservingLearners()
public int getNumPendingSyncs()
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
public long getEpochToPropose(long sid,
long lastAcceptedEpoch)
throws InterruptedException,
IOException
InterruptedException
IOException
public void waitForEpochAck(long id,
StateSummary ss)
throws IOException,
InterruptedException
IOException
InterruptedExceptionpublic static String getPacketType(int packetType)
packetType -
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||