Class DefaultConsensusService

java.lang.Object
org.j7m.middleware.consensus.DefaultConsensusService
All Implemented Interfaces:
AutoCloseable, org.j7m.middleware.api.consensus.ConsensusService

public final class DefaultConsensusService extends Object implements org.j7m.middleware.api.consensus.ConsensusService
Default local consensus service backed by deterministic simulation primitives.
  • Constructor Details

    • DefaultConsensusService

      public DefaultConsensusService(ConsensusSimulation simulation)
      Creates a service.
      Parameters:
      simulation - simulation
  • Method Details

    • startElection

      public org.j7m.middleware.api.consensus.ConsensusState startElection(org.j7m.middleware.api.consensus.ConsensusNodeId nodeId)
      Specified by:
      startElection in interface org.j7m.middleware.api.consensus.ConsensusService
    • submit

      public org.j7m.middleware.api.consensus.ConsensusCommandResult submit(org.j7m.middleware.api.consensus.ConsensusCommand command)
      Specified by:
      submit in interface org.j7m.middleware.api.consensus.ConsensusService
    • status

      public org.j7m.middleware.api.consensus.ConsensusStatus status()
      Specified by:
      status in interface org.j7m.middleware.api.consensus.ConsensusService
    • safetyReport

      public org.j7m.middleware.api.consensus.ConsensusSafetyReport safetyReport()
      Specified by:
      safetyReport in interface org.j7m.middleware.api.consensus.ConsensusService
    • simulation

      public ConsensusSimulation simulation()
      Returns the deterministic simulation for tests and demos.
      Returns:
      simulation
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface org.j7m.middleware.api.consensus.ConsensusService