org.jgroups.protocols

Class MERGE2


public class MERGE2
extends Protocol

Protocol to discover subgroups; e.g., existing due to a network partition (that healed). Example: group {p,q,r,s,t,u,v,w} is split into 3 subgroups {p,q}, {r,s,t,u} and {v,w}. This protocol will eventually send a MERGE event with the coordinators of each subgroup up the stack: {p,r,v}. Note that - depending on the time of subgroup discovery - there could also be 2 MERGE events, which first join 2 of the subgroups, and then the resulting group to the last subgroup. The real work of merging the subgroups into one larger group is done somewhere above this protocol (typically in the GMS protocol).

This protocol works as follows:

Requires: FIND_INITIAL_MBRS event from below
Provides: sends MERGE event with list of coordinators up the stack

Author:
Bela Ban, Oct 16 2001

Field Summary

Fields inherited from class org.jgroups.stack.Protocol

down_handler, down_prot, down_queue, down_thread, down_thread_prio, log, observer, props, stack, stats, trace, up_handler, up_prot, up_queue, up_thread, up_thread_prio, warn

Method Summary

void
down(Event evt)
long
getMaxInterval()
long
getMinInterval()
String
getName()
Vector
requiredDownServices()
void
setMaxInterval(long l)
void
setMinInterval(long i)
boolean
setProperties(Properties props)
void
startDownHandler()
This prevents the down-handler thread to be created, which is not needed in the protocol.
void
startUpHandler()
This prevents the up-handler thread to be created, which is not needed in the protocol.
void
stop()
void
up(Event evt)

Methods inherited from class org.jgroups.stack.Protocol

destroy, down, downThreadEnabled, dumpStats, enableStats, getDownProtocol, getDownQueue, getName, getProperties, getUpProtocol, getUpQueue, handleSpecialDownEvent, init, isTrace, isWarn, passDown, passUp, printStats, providedDownServices, providedUpServices, receiveDownEvent, receiveUpEvent, requiredDownServices, requiredUpServices, resetStats, setDownProtocol, setObserver, setProperties, setPropertiesInternal, setProtocolStack, setTrace, setUpProtocol, setWarn, start, startDownHandler, startUpHandler, statsEnabled, stop, stopInternal, up, upThreadEnabled

Method Details

down

public void down(Event evt)
Overrides:
down in interface Protocol

getMaxInterval

public long getMaxInterval()

getMinInterval

public long getMinInterval()

getName

public String getName()
Overrides:
getName in interface Protocol

requiredDownServices

public Vector requiredDownServices()
Overrides:
requiredDownServices in interface Protocol

setMaxInterval

public void setMaxInterval(long l)

setMinInterval

public void setMinInterval(long i)

setProperties

public boolean setProperties(Properties props)
Overrides:
setProperties in interface Protocol

startDownHandler

public void startDownHandler()
This prevents the down-handler thread to be created, which is not needed in the protocol. DON'T REMOVE !
Overrides:
startDownHandler in interface Protocol

startUpHandler

public void startUpHandler()
This prevents the up-handler thread to be created, which is not needed in the protocol. DON'T REMOVE !
Overrides:
startUpHandler in interface Protocol

stop

public void stop()
Overrides:
stop in interface Protocol

up

public void up(Event evt)
Overrides:
up in interface Protocol

Copyright B) 1998-2005 Bela Ban. All Rights Reserved.