org.jgroups.protocols

Class TOTAL

public class TOTAL extends Protocol

Implements the total ordering layer using a message sequencer

The protocol guarantees that all bcast sent messages will be delivered in the same order to all members. For that it uses a sequencer which assignes monotonically increasing sequence ID to broadcasts. Then all group members deliver the bcasts in ascending sequence ID order.

Please note that once a BLOCK_OK is acknowledged messages coming from above are discarded! Either the application must stop sending messages when a BLOCK event is received from the channel or a QUEUE layer should be placed above this one. Received messages are still delivered above though.

bcast requests are retransmitted periodically until a bcast reply is received. In case a BCAST_REP is on its way during a BCAST_REQ retransmission, then the next BCAST_REP will be to a non-existing BCAST_REQ. So, a nulll BCAST message is sent to fill the created gap in the seqID of all members.

Author: i.georgiadis@doc.ic.ac.uk

Nested Class Summary
static classTOTAL.Header
The header processed by the TOTAL layer and intended for TOTAL inter-stack communication
Constructor Summary
TOTAL()
Create the TOTAL layer
Method Summary
voiddown(Event event)
StringgetName()
VectorrequiredDownServices()
VectorrequiredUpServices()
booleansetProperties(Properties properties)
voidstart()
Prepare this layer to receive messages from above
voidstop()
Handle the stop() method travelling down the stack.
voidup(Event event)

Constructor Detail

TOTAL

public TOTAL()
Create the TOTAL layer

Method Detail

down

public void down(Event event)

getName

public String getName()

requiredDownServices

public Vector requiredDownServices()

requiredUpServices

public Vector requiredUpServices()

setProperties

public boolean setProperties(Properties properties)

start

public void start()
Prepare this layer to receive messages from above

stop

public void stop()
Handle the stop() method travelling down the stack.

The local addr is set to null, since after a Start->Stop->Start sequence this member's addr is not guaranteed to be the same

up

public void up(Event event)
Copyright ? 1998-2005 Bela Ban. All Rights Reserved.