trait SequencerDriverFactory extends AnyRef
Factory for creating a SequencerDriver for a block-based sequencer, including methods for dealing with configuration of the ledger driver.
- Alphabetic
- By Inheritance
- SequencerDriverFactory
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- abstract type ConfigType
The Scala type holding the driver-specific configuration
Abstract Value Members
- abstract def configParser: ConfigReader[ConfigType]
Parser for the driver-specific configuration.
- 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.
- 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 specificfirstBlockHeight
, 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.
- 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 } }
- 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.
- abstract def version: Int
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])