org.jgroups.protocols

Class TOTAL_TOKEN

public class TOTAL_TOKEN extends RpcProtocol

Total order implementation based on The Totem Single-Ring Ordering and Membership Protocol.

However, this is an adaption of algorithm mentioned in the research paper above since we reuse our own membership protocol and failure detectors. Somewhat different flow control mechanism is also implemented.

Token passing is done through reliable point-to-point udp channels provided by UNICAST layer. Process groups nodes members are organized in a logical ring.

Total token layer doesn't need NAKACK nor STABLE layer beneath it since it implements it's own retransmission and tracks stability of the messages from the information piggybacked on the token itself.

For the typical protocol stack configuration used, see org.jgroups.demos.TotalTokenDemo and total-token.xml configuration file provided with this distribution of JGroups.

Version: $Revision: 1.12 $

Author: Vladimir Blagojevic vladimir@cs.yorku.ca

See Also: RingNodeFlowControl RingNode TcpRingNode

Nested Class Summary
static classTOTAL_TOKEN.RingTokenHeader
static classTOTAL_TOKEN.TotalTokenHeader
Field Summary
static Stringprot_name
Method Summary
longgetAllReceivedUpTo()
StringgetName()
IpAddressgetTokenReceiverAddress()
booleanhandleDownEvent(Event evt)
booleanhandleUpEvent(Event evt)
voidinstallTransitionalView(Vector members)
VectorprovidedUpServices()
booleansetProperties(Properties props)
Setup the Protocol instance acording to the configuration string
voidstart()
voidstop()
Overrides @org.jgroups.stack.MessageProtocol#stop().
protected voidupdateView(View newMembers)

Field Detail

prot_name

public static final String prot_name

Method Detail

getAllReceivedUpTo

public long getAllReceivedUpTo()

getName

public String getName()

getTokenReceiverAddress

public IpAddress getTokenReceiverAddress()

handleDownEvent

public boolean handleDownEvent(Event evt)

handleUpEvent

public boolean handleUpEvent(Event evt)

installTransitionalView

public void installTransitionalView(Vector members)

providedUpServices

public Vector providedUpServices()

setProperties

public boolean setProperties(Properties props)
Setup the Protocol instance acording to the configuration string

start

public void start()

stop

public void stop()
Overrides @org.jgroups.stack.MessageProtocol#stop().

updateView

protected void updateView(View newMembers)
Copyright ? 1998-2005 Bela Ban. All Rights Reserved.