Packages

class DriverBlockOrderer extends BlockOrderer

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DriverBlockOrderer
  2. BlockOrderer
  3. AutoCloseable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new DriverBlockOrderer(driver: SequencerDriver, orderingTimeFixMode: OrderingTimeFixMode)(implicit executionContext: ExecutionContext)

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. def acknowledge(signedAcknowledgeRequest: SignedContent[AcknowledgeRequest])(implicit traceContext: TraceContext): Future[Unit]

    Orders an event reception acknowledgement.

    Orders an event reception acknowledgement. If the sequencer node is honest, this normally results in a block.RawLedgerBlock.RawBlockEvent.Acknowledgment. In exceptional cases (crashes, high load, ...), a sequencer may drop acknowledgements.

    Definition Classes
    DriverBlockOrdererBlockOrderer
  5. def adminServices: Seq[ServerServiceDefinition]
    Definition Classes
    DriverBlockOrdererBlockOrderer
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  8. def close(): Unit
    Definition Classes
    DriverBlockOrderer → AutoCloseable
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  11. def firstBlockHeight: Long

    The height of the first block to be returned by subscribe.

    The height of the first block to be returned by subscribe.

    Definition Classes
    DriverBlockOrdererBlockOrderer
  12. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  14. def health(implicit traceContext: TraceContext): Future[SequencerDriverHealthStatus]
    Definition Classes
    DriverBlockOrdererBlockOrderer
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  19. val orderingTimeFixMode: OrderingTimeFixMode

    Determines if block timestamps emitted by subscribe are strictly monotonically increasing.

    Determines if block timestamps emitted by subscribe are strictly monotonically increasing.

    Definition Classes
    DriverBlockOrdererBlockOrderer
  20. def send(signedOrderingRequest: SignedOrderingRequest)(implicit traceContext: TraceContext): EitherT[Future, SequencerDeliverError, Unit]

    Orders a submission.

    Orders a submission. If the sequencer node is honest, this normally results in a block.RawLedgerBlock.RawBlockEvent.Send. In exceptional cases (crashes, high load, ...), a sequencer may drop submissions. There's a double com.digitalasset.canton.sequencing.protocol.SignedContent wrapping because the outer signature is the sequencer's, and the inner signature is the sender's. The sequencer signature may be used by the implementation to ensure that the submission originates from the expected sequencer node. This may be necessary if the implementation is split across multiple processes.

    Definition Classes
    DriverBlockOrdererBlockOrderer
  21. def sequencerSnapshotAdditionalInfo(timestamp: CantonTimestamp): EitherT[Future, SequencerError, Option[BftSequencerSnapshotAdditionalInfo]]

    Provides information for the SequencerSnapshot.additional field, which can be used for onboarding.

    Provides information for the SequencerSnapshot.additional field, which can be used for onboarding.

    Definition Classes
    DriverBlockOrdererBlockOrderer
  22. def subscribe()(implicit traceContext: TraceContext): Source[RawLedgerBlock, KillSwitch]

    Delivers a stream of blocks.

    Delivers a stream of blocks.

    Honest and correct implementations must ensure the following:

    • If firstBlockHeight refers to a block whose sequencing number the sequencer node has not yet observed, returns a source that will eventually serve that block when it gets created.
    • This method can be called only once per instance, so implementations do not have to try to create separate sources on every call to this method: it is acceptable for the implementation to have one internal source and just return it.
    • The call must succeed if an earlier (across instances and restarts) call to subscribe delivered a block with height firstBlockHeight unless the block has been pruned in between, in which case it fails.
    • Block heights must be consecutive and start at firstBlockHeight.
    • For a given block height, all sequencer nodes of a synchronizer must emit the same block for that height.
    • Every submission that has been sent to an honest node through send will be included in the output stream on a best effort basis. That means, the output stream normally contains every submission, but submissions may sometimes be dropped due to high load, crashes, etc...
    • A submission may occur more than once in the output stream, as malicious sequencer nodes may replay requests.
    • An event in the output can not necessarily be parsed to com.digitalasset.canton.synchronizer.block.LedgerBlockEvent. If they can be parsed, the embedded signatures are not necessarily valid.
    Definition Classes
    DriverBlockOrdererBlockOrderer
  23. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  24. def toString(): String
    Definition Classes
    AnyRef → Any
  25. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  26. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  27. 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

    (Since version 9)

Inherited from BlockOrderer

Inherited from AutoCloseable

Inherited from AnyRef

Inherited from Any

Ungrouped