class InMemorySequencedEventStore extends SequencedEventStore with NamedLogging with InMemoryPrunableByTime
In memory implementation of a SequencedEventStore.
- Alphabetic
- By Inheritance
- InMemorySequencedEventStore
- InMemoryPrunableByTime
- SequencedEventStore
- AutoCloseable
- NamedLogging
- PrunableByTime
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new InMemorySequencedEventStore(loggerFactory: NamedLoggerFactory)(implicit ec: ExecutionContext)
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
- def advancePruningTimestamp(phase: PruningPhase, timestamp: CantonTimestamp)(implicit traceContext: TraceContext): Future[Unit]
- Attributes
- protected[canton]
- Definition Classes
- InMemoryPrunableByTime → PrunableByTime
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- 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
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- def close(): Unit
- Definition Classes
- InMemorySequencedEventStore → AutoCloseable
- def doPrune(beforeAndIncluding: 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
- Definition Classes
- InMemorySequencedEventStore → PrunableByTime
- implicit val ec: ExecutionContext
- Definition Classes
- InMemorySequencedEventStore → SequencedEventStore → PrunableByTime
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
- Attributes
- protected
- Definition Classes
- NamedLogging
- 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.
- Definition Classes
- InMemorySequencedEventStore → SequencedEventStore
- 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.
- Definition Classes
- InMemorySequencedEventStore → SequencedEventStore
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def ignoreEvents(fromInclusive: SequencerCounter, toInclusive: SequencerCounter)(implicit traceContext: TraceContext): EitherT[Future, ChangeWouldResultInGap, Unit]
Marks events between
from
andto
as ignored.Marks events between
from
andto
as ignored. Fills any gap betweenfrom
andto
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
.
- Definition Classes
- InMemorySequencedEventStore → SequencedEventStore
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def kind: String
- Attributes
- protected
- Definition Classes
- SequencedEventStore → PrunableByTime
- def logger: TracedLogger
- Attributes
- protected
- Definition Classes
- NamedLogging
- val loggerFactory: NamedLoggerFactory
- Attributes
- protected
- Definition Classes
- InMemorySequencedEventStore → NamedLogging
- implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def noTracingLogger: Logger
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- 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
- 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
- InMemoryPrunableByTime → PrunableByTime
- val pruningStatusF: AtomicReference[Option[PruningStatus]]
- Attributes
- protected[this]
- Definition Classes
- InMemoryPrunableByTime
- def sequencedEvents(limit: Option[Int] = None)(implicit traceContext: TraceContext): Future[Seq[PossiblyIgnoredSerializedEvent]]
- Definition Classes
- InMemorySequencedEventStore → SequencedEventStore
- def store(events: Seq[OrdinarySerializedEvent])(implicit traceContext: TraceContext, closeContext: 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.
- Definition Classes
- InMemorySequencedEventStore → SequencedEventStore
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def unignoreEvents(fromInclusive: SequencerCounter, toInclusive: SequencerCounter)(implicit traceContext: TraceContext): EitherT[Future, ChangeWouldResultInGap, Unit]
Removes the ignored status from all events between
from
andto
.Removes the ignored status from all events between
from
andto
.- returns
ChangeWouldResultInGap if deleting empty ignored events between
from
andto
would result in a gap in sequencer counters.
- Definition Classes
- InMemorySequencedEventStore → SequencedEventStore
- 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])