package event
- Alphabetic
- Public
- Protected
Type Members
- trait AcsChangeListener extends AnyRef
Components that need to keep a running snapshot of ACS.
- sealed trait PublishesOnlinePartyReplicationEvents extends AnyRef
Helper trait for Online Party Replication event publishing.
Helper trait for Online Party Replication event publishing. Refer to methods in the RecordOrderPublisher for documentation.
- class RecordOrderPublisher extends PublishesOnlinePartyReplicationEvents with NamedLogging with FlagCloseableAsync with HasCloseContext with PromiseUnlessShutdownFactory
Publishes upstream events and active contract set changes in the order of their record time.
Publishes upstream events and active contract set changes in the order of their record time.
The protocol processors produce events and active contract set changes in the result message order in phase 7. The RecordOrderPublisher pushes the events to indexer and the active contract set changes in record time order (which equals sequencing time order). (including empty changes on time proofs) to the appropriate listener, which is normally pruning.AcsCommitmentProcessor. The events are published only after the com.digitalasset.canton.participant.protocol.submission.InFlightSubmissionTracker has observed the timestamp.
All sequencer counters above and including
initSc
must eventually be signalled to the RecordOrderPublisher using tick. An event is published only when all sequencer counters betweeninitSc
and its associated sequencer counter have been signalled.The
private
constructor is to force using the factory, that sets thesynchronizerSuccessor
. - final case class RecordTime(timestamp: CantonTimestamp, tieBreaker: Long) extends PrettyPrinting with Product with Serializable
Canton-internal record time
Canton-internal record time
- timestamp
ACS change timestamp
- tieBreaker
ordering tie-breaker for changes that have the same timestamp (currently, happens only with repair requests) Value of the
tieBreaker
:- Requests (regular as well as repair requests) use the repair counter as
tieBreaker
. - Empty ACS changes (ticks, received ACS commitments, time proofs) use
Long.MinValue
- Requests (regular as well as repair requests) use the repair counter as
Value Members
- object AcsChangeSupport extends HasLoggerName
- object RecordOrderPublisher
- object RecordTime extends Serializable