t

com.digitalasset.canton.domain.block

SequencerDriverFactory

trait SequencerDriverFactory extends AnyRef

Factory for creating a SequencerDriver for a block-based sequencer, including methods for dealing with configuration of the ledger driver.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SequencerDriverFactory
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. abstract type ConfigType

    The Scala type holding the driver-specific configuration

Abstract Value Members

  1. abstract def configParser: ConfigReader[ConfigType]

    Parser for the driver-specific configuration.

  2. abstract def configWriter(confidential: Boolean): ConfigWriter[ConfigType]

    Serializer for the driver-specific configuration.

    Serializer for the driver-specific configuration.

    confidential

    Indicates whether confidential information (e.g. passwords) should be written in a shaded form without disclosing the actual plain information.

  3. abstract def create(config: ConfigType, nonStandardConfig: Boolean, timeProvider: TimeProvider, firstBlockHeight: Option[Long], domainTopologyManagerId: String, loggerFactory: NamedLoggerFactory)(implicit executionContext: ExecutionContext, materializer: Materializer): SequencerDriver

    Creates a new ledger driver instance

    Creates a new ledger driver instance

    config

    The driver-specific configuration.

    nonStandardConfig

    Whether to be lax in enforcing certain configuration constraints such as required external component versions.

    timeProvider

    Time provider to obtain time readings from. If usesTimeProvider returns true, must be used instead of system time so that we can modify time in tests.

    firstBlockHeight

    Initial block from which the driver will start serving the block subscription. It will be valued when a sequencer is restarted or dynamically onboarded based on the state of a running sequencer. In the case of a newly started sequencer, it will be None and the driver will start serving from whichever block it considers the beginning. Given a specific firstBlockHeight, the sequence of blocks served by a driver must be always exactly the same and the blocks must be consecutively numbered.

    domainTopologyManagerId

    The Canton identifier of the Topology Manager for the domain being supported.

    loggerFactory

    A logger factory through which all logging should be done. Useful in tests as we can capture log entries and check them.

  4. abstract def name: String

    The name of the ledger driver Used in Canton configurations to specify the ledger driver as in type = name.

    The name of the ledger driver Used in Canton configurations to specify the ledger driver as in type = name.

    sequencer {
      type = "foobar"
      config = { config specific to driver foobar }
    }
  5. abstract def usesTimeProvider: Boolean

    Returns whether the driver produced by create will use the com.digitalasset.canton.time.TimeProvider for generating timestamps on com.digitalasset.canton.domain.block.RawLedgerBlock.RawBlockEvent.Send events.

    Returns whether the driver produced by create will use the com.digitalasset.canton.time.TimeProvider for generating timestamps on com.digitalasset.canton.domain.block.RawLedgerBlock.RawBlockEvent.Send events.

    This information is used to prevent using the driver in an environment that needs to control time, e.g., for testing.

  6. abstract def version: Int

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  15. def toString(): String
    Definition Classes
    AnyRef → Any
  16. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  17. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped