org.opends.server.replication.common
Class ChangeNumberGenerator

java.lang.Object
  extended by org.opends.server.replication.common.ChangeNumberGenerator

public class ChangeNumberGenerator
extends java.lang.Object

This class defines a structure that is used for storing the last change numbers generated on this server or received from other servers and generating new changenumbers that are guaranteed to be larger than all the previously seen or generated change numbers.


Constructor Summary
ChangeNumberGenerator(short id, long timestamp)
          Create a new ChangeNumber Generator.
ChangeNumberGenerator(short id, ServerState state)
          Create a new ChangeNumber Generator.
 
Method Summary
 void adjust(ChangeNumber number)
          Adjust the lastTime of this Changenumber generator with a ChangeNumber that we have received from another server.
 ChangeNumber newChangeNumber()
          Generate a new ChangeNumber.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ChangeNumberGenerator

public ChangeNumberGenerator(short id,
                             long timestamp)
Create a new ChangeNumber Generator.

Parameters:
id - id to use when creating change numbers.
timestamp - time to start with.

ChangeNumberGenerator

public ChangeNumberGenerator(short id,
                             ServerState state)
Create a new ChangeNumber Generator.

Parameters:
id - id to use when creating change numbers.
state - This generator will be created in a way that makes sure that all change numbers generated will be larger than all the changenumbers currently in state.
Method Detail

newChangeNumber

public ChangeNumber newChangeNumber()
Generate a new ChangeNumber.

Returns:
the generated ChangeNUmber

adjust

public void adjust(ChangeNumber number)
Adjust the lastTime of this Changenumber generator with a ChangeNumber that we have received from another server. This is necessary because we need that the changenumber generated after processing an update received from other hosts to be larger than the received changenumber

Parameters:
number - the ChangeNumber to adjust with