com.digitalasset.canton.participant.store
SingleDimensionEventLog
Companion object SingleDimensionEventLog
trait SingleDimensionEventLog[+Id <: EventLogId] extends SingleDimensionEventLogLookup
An event log for a single domain or for a domain-independent events (such as package uploads). Supports out-of-order publication of events.
- Self Type
- SingleDimensionEventLog[Id] with NamedLogging
- Alphabetic
- By Inheritance
- SingleDimensionEventLog
- SingleDimensionEventLogLookup
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def deleteSince(inclusive: LocalOffset)(implicit traceContext: TraceContext): Future[Unit]
Deletes all events whose request counter is at least
inclusive
.Deletes all events whose request counter is at least
inclusive
. This operation need not execute atomically. - abstract def eventAt(offset: LocalOffset)(implicit traceContext: TraceContext): OptionT[Future, TimestampedEventAndCausalChange]
- Definition Classes
- SingleDimensionEventLogLookup
- abstract def eventById(eventId: EventId)(implicit traceContext: TraceContext): OptionT[Future, TimestampedEventAndCausalChange]
- implicit abstract def executionContext: ExecutionContext
- Attributes
- protected
- abstract def existsBetween(timestampInclusive: CantonTimestamp, localOffsetInclusive: LocalOffset)(implicit traceContext: TraceContext): Future[Boolean]
Returns whether there exists an event in the event log with an com.digitalasset.canton.participant.LocalOffset of at most
localOffset
whose timestamp is at leasttimestamp
.Returns whether there exists an event in the event log with an com.digitalasset.canton.participant.LocalOffset of at most
localOffset
whose timestamp is at leasttimestamp
.In an event logs where timestamps need not increase with offsets, this can be used to check that whether there are events with lower offsets and larger timestamps.
- abstract def id: Id
- abstract def insertsUnlessEventIdClash(events: Seq[TimestampedEventAndCausalChange])(implicit traceContext: TraceContext): Future[Seq[Either[TimestampedEvent, Unit]]]
Publishes many events.
Publishes many events.
- returns
For each event in
events
in the same order: scala.Left$ of the conficting event if an event with the same event ID has been published with a different (unpruned) com.digitalasset.canton.participant.LocalOffset. scala.Right$ if the event has been successfully inserted or has already been present in the event log
- Exceptions thrown
java.lang.IllegalArgumentException
if a different event has already been published with the same com.digitalasset.canton.participant.LocalOffset as one of the events inevents
.
- abstract def lastOffset(implicit traceContext: TraceContext): OptionT[Future, LocalOffset]
- abstract def lookupEventRange(fromInclusive: Option[LocalOffset], toInclusive: Option[LocalOffset], fromTimestampInclusive: Option[CantonTimestamp], toTimestampInclusive: Option[CantonTimestamp], limit: Option[Int])(implicit traceContext: TraceContext): Future[SortedMap[LocalOffset, TimestampedEventAndCausalChange]]
- Definition Classes
- SingleDimensionEventLogLookup
- abstract def prune(beforeAndIncluding: LocalOffset)(implicit traceContext: TraceContext): Future[Unit]
- abstract def storeTransferUpdate(causalityUpdate: CausalityUpdate)(implicit tc: TraceContext): Future[Unit]
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() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def eventByTransactionId(transactionId: LedgerTransactionId)(implicit traceContext: TraceContext): OptionT[Future, TimestampedEventAndCausalChange]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def insert(event: TimestampedEvent, causalityUpdate: Option[CausalityUpdate])(implicit traceContext: TraceContext): Future[Unit]
Publishes an event and fails upon an event ID clash.
Publishes an event and fails upon an event ID clash.
- Exceptions thrown
java.lang.IllegalArgumentException
if a different event has already been published with the same com.digitalasset.canton.participant.LocalOffset or an event with the same com.digitalasset.canton.participant.sync.TimestampedEvent.EventId has been published with a different (unpruned) com.digitalasset.canton.participant.LocalOffset.
- def insertUnlessEventIdClash(event: TimestampedEvent, causalityUpdate: Option[CausalityUpdate])(implicit traceContext: TraceContext): EitherT[Future, TimestampedEvent, Unit]
Publishes an event and the change in causality state associated with the event.
Publishes an event and the change in causality state associated with the event.
- returns
scala.Left$ if an event with the same event ID has been published with a different (unpruned) com.digitalasset.canton.participant.LocalOffset. Returns the conflicting event.
- Exceptions thrown
java.lang.IllegalArgumentException
if a different event has already been published with the same com.digitalasset.canton.participant.LocalOffset
- 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() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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])