package event
- Alphabetic
- Public
- Protected
Type Members
- final case class AcsChange(activations: Map[LfContractId, WithContractHash[ContractMetadata]], deactivations: Map[LfContractId, WithContractHash[ContractStakeholders]]) 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 both the LfContractId (for uniqueness) and the LfHash (reflecting contract content).
- trait AcsChangeListener extends AnyRef
Components that need to keep a running snapshot of ACS.
- final case class ContractStakeholders(stakeholders: Set[LfPartyId]) extends PrettyPrinting with Product with Serializable
- class RecordOrderPublisher extends NamedLogging with FlagCloseableAsync
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 emit events and active contract set changes in the result message order, which differs from the record time (= sequencing time) order. The RecordOrderPublisher pushes the events to store.SingleDimensionEventLog and the active contract set changes (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
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 request counter astieBreaker
. - Empty ACS changes (ticks, received ACS commitments, time proofs) useLong.MinValue
Value Members
- object AcsChange extends HasLoggerName with Serializable
- object RecordOrderPublisher
- object RecordTime extends Serializable