trait SequencedEventStore extends PrunableByTime with NamedLogging with AutoCloseable

Persistent store for com.digitalasset.canton.sequencing.protocol.SequencedEvents received from the sequencer. The store may assume that sequencer counters strictly increase with timestamps without checking this precondition.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SequencedEventStore
  2. AutoCloseable
  3. NamedLogging
  4. PrunableByTime
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def advancePruningTimestamp(phase: PruningPhase, timestamp: CantonTimestamp)(implicit traceContext: TraceContext): Future[Unit]
    Attributes
    protected[canton]
    Definition Classes
    PrunableByTime
    Annotations
    @VisibleForTesting()
  2. abstract def close(): Unit
    Definition Classes
    AutoCloseable
    Annotations
    @throws(classOf[java.lang.Exception])
  3. abstract def doPrune(limit: CantonTimestamp, lastPruning: Option[CantonTimestamp])(implicit traceContext: TraceContext): Future[Int]

    Actual invocation of doPrune

    Actual invocation of doPrune

    returns

    the approximate number of pruned rows, used to adjust the pruning windows to reach optimal batch sizes

    Attributes
    protected[canton]
    Definition Classes
    PrunableByTime
    Annotations
    @VisibleForTesting()
  4. implicit abstract val ec: ExecutionContext
    Definition Classes
    SequencedEventStorePrunableByTime
  5. abstract def find(criterion: SearchCriterion)(implicit traceContext: TraceContext): EitherT[Future, SequencedEventNotFoundError, PossiblyIgnoredSerializedEvent]

    Looks up an event by the given criterion.

    Looks up an event by the given criterion.

    returns

    SequencedEventNotFoundError if no stored event meets the criterion.

  6. abstract def findRange(criterion: RangeCriterion, limit: Option[Int])(implicit traceContext: TraceContext): EitherT[Future, SequencedEventRangeOverlapsWithPruning, Seq[PossiblyIgnoredSerializedEvent]]

    Looks up a set of sequenced events within the given range.

    Looks up a set of sequenced events within the given range.

    limit

    The maximum number of elements in the returned iterable, if set.

  7. abstract def ignoreEvents(fromInclusive: SequencerCounter, toInclusive: SequencerCounter)(implicit traceContext: TraceContext): EitherT[Future, ChangeWouldResultInGap, Unit]

    Marks events between from and to as ignored.

    Marks events between from and to as ignored. Fills any gap between from and to by empty ignored events, i.e. ignored events without any underlying real event.

    returns

    ChangeWouldResultInGap if there would be a gap between the highest sequencer counter in the store and from.

  8. abstract def loggerFactory: NamedLoggerFactory
    Attributes
    protected
    Definition Classes
    NamedLogging
  9. abstract def pruningStatus(implicit traceContext: TraceContext): Future[Option[PruningStatus]]

    Returns the latest timestamp at which pruning was started or completed.

    Returns the latest timestamp at which pruning was started or completed. For com.digitalasset.canton.pruning.PruningPhase.Started, it is guaranteed that no pruning has been run on the store after the returned timestamp. For com.digitalasset.canton.pruning.PruningPhase.Completed, it is guaranteed that the store is pruned at least up to the returned timestamp (inclusive). That is, another pruning with the returned timestamp (or earlier) has no effect on the store. Returns scala.None$ if no pruning has ever been started on the store.

    Definition Classes
    PrunableByTime
  10. abstract def sequencedEvents(limit: Option[Int] = None)(implicit traceContext: TraceContext): Future[Seq[PossiblyIgnoredSerializedEvent]]
  11. abstract def store(signedEvents: Seq[OrdinarySerializedEvent])(implicit traceContext: TraceContext, externalCloseContext: CloseContext): Future[Unit]

    Stores the given com.digitalasset.canton.sequencing.protocol.SequencedEvents.

    Stores the given com.digitalasset.canton.sequencing.protocol.SequencedEvents. If an event with the same timestamp already exist, the event may remain unchanged or overwritten.

  12. abstract def unignoreEvents(fromInclusive: SequencerCounter, toInclusive: SequencerCounter)(implicit traceContext: TraceContext): EitherT[Future, ChangeWouldResultInGap, Unit]

    Removes the ignored status from all events between from and to.

    Removes the ignored status from all events between from and to.

    returns

    ChangeWouldResultInGap if deleting empty ignored events between from and to would result in a gap in sequencer counters.

Concrete 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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def batchingParameters: Option[PrunableByTimeParameters]

    Parameters to control prune batching

    Parameters to control prune batching

    If defined, then the pruning window will be computed such that it targets the ideal target batch size in order to optimize the load on the database.

    This is currently used with the journal stores. Normal pruning of other stores already does batching on its own.

    Attributes
    protected
    Definition Classes
    PrunableByTime
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. def kind: String
    Attributes
    protected
    Definition Classes
    SequencedEventStorePrunableByTime
  14. def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    NamedLogging
  15. implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. def noTracingLogger: Logger
    Attributes
    protected
    Definition Classes
    NamedLogging
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  20. final def prune(limit: CantonTimestamp)(implicit errorLoggingContext: ErrorLoggingContext, closeContext: CloseContext): Future[Unit]

    Prune all unnecessary data relating to events before the given timestamp.

    Prune all unnecessary data relating to events before the given timestamp.

    The meaning of "unnecessary", and whether the limit is inclusive or exclusive both depend on the particular store. The store must implement the actual pruning logic in the doPrune method.

    Definition Classes
    PrunableByTime
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  25. 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
    Deprecated

Inherited from AutoCloseable

Inherited from NamedLogging

Inherited from PrunableByTime

Inherited from AnyRef

Inherited from Any

Ungrouped