com.continuent.tungsten.replicator.storage.parallel
Class RoundRobinPartitioner

java.lang.Object
  extended by com.continuent.tungsten.replicator.storage.parallel.RoundRobinPartitioner
All Implemented Interfaces:
Partitioner

public class RoundRobinPartitioner
extends java.lang.Object
implements Partitioner

Partitions event by assigning each succeeding sequence number to the next partition.

Version:
1.0
Author:
Robert Hodges

Constructor Summary
RoundRobinPartitioner()
           
 
Method Summary
 PartitionerResponse partition(ReplDBMSHeader event, int taskId)
          Assign an event to a particular partition.
 void setContext(PluginContext context)
          Assigns the current runtime context in case the partitioner needs to refer to replicator state.
 void setPartitions(int availablePartitions)
          Sets the number of available partitions.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RoundRobinPartitioner

public RoundRobinPartitioner()
Method Detail

setPartitions

public void setPartitions(int availablePartitions)
Sets the number of available partitions.

Specified by:
setPartitions in interface Partitioner
Parameters:
availablePartitions - Number of partitions available
See Also:
Partitioner.setPartitions(int)

setContext

public void setContext(PluginContext context)
Assigns the current runtime context in case the partitioner needs to refer to replicator state.

Specified by:
setContext in interface Partitioner
Parameters:
context - Replicator runtime context
See Also:
Partitioner.setContext(com.continuent.tungsten.replicator.plugin.PluginContext)

partition

public PartitionerResponse partition(ReplDBMSHeader event,
                                     int taskId)
Assign an event to a particular partition. All fragments of a particular sequence number must go to the same partition.

Specified by:
partition in interface Partitioner
Parameters:
event - Event to be assigned a partition
taskId - Task id of input thread
Returns:
Response containing partition ID and whether event requires a critical section
See Also:
Partitioner.partition(com.continuent.tungsten.replicator.event.ReplDBMSHeader, int)