|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.javagroups.stack.Protocol
org.javagroups.protocols.MERGE2
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
Field Summary |
Fields inherited from class org.javagroups.stack.Protocol |
down_handler, down_prot, down_queue, down_thread, observer, props, stack, up_handler, up_prot, up_queue, up_thread |
Constructor Summary | |
MERGE2()
|
Method Summary | |
void |
down(Event evt)
An event is to be sent down the stack. |
java.lang.String |
getName()
|
java.util.Vector |
requiredDownServices()
List of events that are required to be answered by some layer below. |
boolean |
setProperties(java.util.Properties props)
Configures the protocol initially. |
void |
startDownHandler()
DON'T REMOVE ! This prevents the down-handler thread to be created, which is not needed in the protocol. |
void |
startUpHandler()
DON'T REMOVE ! This prevents the up-handler thread to be created, which is not needed in the protocol. |
void |
stop()
This method is called on a Channel.disconnect() . |
void |
up(Event evt)
An event was received from the layer below. |
Methods inherited from class org.javagroups.stack.Protocol |
destroy, getDownProtocol, getDownQueue, getProperties, getUpProtocol, getUpQueue, init, passDown, passUp, providedDownServices, providedUpServices, receiveDownEvent, receiveUpEvent, requiredUpServices, setDownProtocol, setObserver, setPropertiesInternal, setProtocolStack, setUpProtocol, start, stopInternal |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public MERGE2()
Method Detail |
public java.lang.String getName()
getName
in class Protocol
public boolean setProperties(java.util.Properties props)
Protocol
"loopback=false;unicast_inport=4444"
setProperties
in class Protocol
public java.util.Vector requiredDownServices()
Protocol
requiredDownServices
in class Protocol
public void stop()
Protocol
Channel.disconnect()
. Stops work (e.g. by closing multicast socket).
Will be called from top to bottom. This means that at the time of the method invocation the
neighbor protocol below is still working. This method will replace the
STOP, STOP_OK, CLEANUP and CLEANUP_OK events. The ProtocolStack guarantees that
when this method is called all messages in the down queue will have been flushed
stop
in class Protocol
public void startUpHandler()
startUpHandler
in class Protocol
public void startDownHandler()
startDownHandler
in class Protocol
public void up(Event evt)
Protocol
passDown()
or c) the event (or another event) is sent up
the stack using passUp()
.
up
in class Protocol
public void down(Event evt)
Protocol
passDown()
. In case of a GET_ADDRESS event (which tries to
retrieve the stack's address from one of the bottom layers), the layer may need to send
a new response event back up the stack using passUp()
.
down
in class Protocol
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |