Class ReplStateMachine<K,V>

java.lang.Object
org.jgroups.raft.util.ReplStateMachine<K,V>
All Implemented Interfaces:
StateMachine

public class ReplStateMachine<K,V> extends Object implements StateMachine
Dummy replicated hashmap state machine
Since:
1.0.5
Author:
Bela Ban
  • Field Details

  • Constructor Details

    • ReplStateMachine

      public ReplStateMachine()
  • Method Details

    • apply

      public byte[] apply(byte[] data, int offset, int length, boolean serialize_response) throws Exception
      Description copied from interface: StateMachine
      Applies a command to the state machine. The contents of the byte[] buffer are interpreted by the state machine. The command could for example be a set(), remove() or clear() command.
      Specified by:
      apply in interface StateMachine
      Parameters:
      data - The byte[] buffer
      offset - The offset at which the data starts
      length - The length of the data
      serialize_response - If true, serialize and return the response, else return null
      Returns:
      A serialized response value, or null (e.g. if the method returned void)
      Throws:
      Exception - Thrown on deserialization or other failure
    • readContentFrom

      public void readContentFrom(DataInput in) throws Exception
      Description copied from interface: StateMachine
      Reads the contents of the state machine from an input stream.

      This can be the case when an InstallSnapshot RPC is used to bootstrap a new node, or a node that's lagging far behind. The parsing depends on the concrete state machine implementation, but the idea is that the stream is a sequence of commands, each of which can be passed to StateMachine.apply(byte[], int, int, boolean).

      The state machine may need to block modifications until the contents have been set (unless e.g. copy-on-write is used). The state machine implementation may need to remove all contents before populating itself from the stream.

      Specified by:
      readContentFrom in interface StateMachine
      Parameters:
      in - The input stream
      Throws:
      Exception
    • writeContentTo

      public void writeContentTo(DataOutput out) throws Exception
      Description copied from interface: StateMachine
      Writes the contents of the state machine to an output stream. This is typically called on the leader to provide state to a new node, or a node that's lagging far behind.

      Updates to the state machine may need to be put on hold while the state is written to the output stream.

      Specified by:
      writeContentTo in interface StateMachine
      Parameters:
      out - The output stream
      Throws:
      Exception