handleDownEvent
public boolean handleDownEvent(Event evt)
handleJoinResponse
public abstract void handleJoinResponse(JoinRsp join_rsp)
handleLeave
public abstract void handleLeave(Address mbr,
boolean suspected)
handleLeaveResponse
public abstract void handleLeaveResponse()
handleMergeCancelled
public void handleMergeCancelled(Object merge_id)
handleMergeRequest
public void handleMergeRequest(Address sender,
Object merge_id)
handleMergeResponse
public void handleMergeResponse(MergeData data,
Object merge_id)
handleMergeView
public void handleMergeView(MergeData data,
Object merge_id)
handleSuspect
public abstract void handleSuspect(Address mbr)
handleUpEvent
public boolean handleUpEvent(Event evt)
handleViewChange
public abstract void handleViewChange(View new_view,
Digest digest)
iWouldBeCoordinator
protected boolean iWouldBeCoordinator(Vector new_mbrs)
Returns potential coordinator based on lexicographic ordering of member addresses. Another
approach would be to keep track of the primary partition and return the first member if we
are the primary partition.
init
public void init()
throws Exception
join
public abstract void join(Address mbr)
leave
public abstract void leave(Address mbr)
merge
public void merge(Vector other_coords)
start
public void start()
throws Exception
suspect
public abstract void suspect(Address mbr)
unsuspect
public abstract void unsuspect(Address mbr)
wrongMethod
protected void wrongMethod(String method_name)