org.jgroups.protocols

Class PARTITIONER


public class PARTITIONER
extends Protocol

This layer can be put on top of the bottommost layer and is useful to simulate partitions. It simply adds a header with its partition number and discards Messages with other partition numbers.
If it receives an Event of type Event.SET_PARTITIONS it sends a Header of type COMMAND with the Hashtable contained in the Event argument to set the partitions of ALL processes (not just processes of the current view but every process with the same group address that receives the message.

Nested Class Summary

static class
PARTITIONER.PartitionerHeader
The Partitioner header normally (type = NORMAL) contains just the partition number that is checked to discard messages received from other partitions.

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, up_handler, up_prot, up_queue, up_thread, up_thread_prio

Method Summary

void
down(Event evt)
Adds to Messages a Header with the local partitin number and if receives a SET_PARTITIONS Event sends a new Message with a PartitionerHeader set to COMMAND that carries the Hashtable
String
getName()
All protocol names have to be unique !
void
reset()
Just remove if you don't need to reset any state
boolean
setProperties(Properties props)
void
up(Event evt)
Discards Messages with the wrong partition number and sets local partition number if it receives a COMMAND Header

Methods inherited from class org.jgroups.stack.Protocol

destroy, down, getDownProtocol, getDownQueue, getName, getProperties, getUpProtocol, getUpQueue, handleSpecialDownEvent, init, passDown, passUp, providedDownServices, providedUpServices, receiveDownEvent, receiveUpEvent, requiredDownServices, requiredUpServices, setDownProtocol, setObserver, setProperties, setPropertiesInternal, setProtocolStack, setUpProtocol, start, startDownHandler, startUpHandler, stop, stopInternal, up

Method Details

down

public void down(Event evt)
Adds to Messages a Header with the local partitin number and if receives a SET_PARTITIONS Event sends a new Message with a PartitionerHeader set to COMMAND that carries the Hashtable
Overrides:
down in interface Protocol

getName

public String getName()
All protocol names have to be unique !
Overrides:
getName in interface Protocol

reset

public void reset()
Just remove if you don't need to reset any state

setProperties

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

up

public void up(Event evt)
Discards Messages with the wrong partition number and sets local partition number if it receives a COMMAND Header
Overrides:
up in interface Protocol

Copyright B) 2001,2002 www.jgroups.com . All Rights Reserved.