package event
- Alphabetic
- Public
- Protected
Type Members
- final case class AcsChange(activations: Map[LfContractId, ContractStakeholdersAndReassignmentCounter], deactivations: Map[LfContractId, ContractStakeholdersAndReassignmentCounter]) extends Product with Serializable
Represents a change to the ACS.
Represents a change to the ACS. The deactivated contracts are accompanied by their stakeholders.
Note that we include the LfContractId (for uniqueness), but we do not include the contract hash because it already authenticates the contract contents.
- trait AcsChangeListener extends AnyRef
Components that need to keep a running snapshot of ACS.
- final case class ContractStakeholdersAndReassignmentCounter(stakeholders: Set[LfPartyId], reassignmentCounter: ReassignmentCounter) extends PrettyPrinting with Product with Serializable
- 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. - 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 AcsChange extends HasLoggerName with Serializable
- object RecordTime extends Serializable