com.digitalasset.canton.domain.sequencing.sequencer.store
SequencerWriterStore
Companion object SequencerWriterStore
trait SequencerWriterStore extends AutoCloseable
A subset of the sequencer storage methods required by the SequencerWriter with
convenience methods to avoid passing the instanceIndex
everywhere.
- Alphabetic
- By Inheritance
- SequencerWriterStore
- AutoCloseable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def close(): Unit
- Definition Classes
- AutoCloseable
- Annotations
- @throws(classOf[java.lang.Exception])
- abstract val instanceIndex: Int
- abstract def isActive: Boolean
- abstract val store: SequencerStore
- Attributes
- protected[sequencer.store]
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()
- def deleteEventsPastWatermark()(implicit traceContext: TraceContext): Future[Unit]
Delete all events that are ahead of the watermark of this sequencer.
Delete all events that are ahead of the watermark of this sequencer. These events will not have been read and should be removed before returning the sequencer online. Should not be called alongside updating the watermark for this sequencer and only while the sequencer is offline.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def fetchWatermark(implicit traceContext: TraceContext): Future[Option[Watermark]]
Read the watermark for this sequencer and its online/offline status.
Read the watermark for this sequencer and its online/offline status. Currently only used for testing.
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def goOffline()(implicit traceContext: TraceContext): Future[Unit]
Flag that we're going offline (likely due to a shutdown)
- def goOnline(now: CantonTimestamp)(implicit traceContext: TraceContext): Future[CantonTimestamp]
Mark the sequencer as online and return a timestamp for when this sequencer can start safely producing events.
Mark the sequencer as online and return a timestamp for when this sequencer can start safely producing events.
- now
Now according to this sequencer's clock which will be used if it is ahead of the lowest available timestamp from other sequencers.
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def lookupMember(member: Member)(implicit traceContext: TraceContext): Future[Option[RegisteredMember]]
Lookup an existing member id for the given member.
Lookup an existing member id for the given member. Return scala.None if no id exists.
- 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()
- def saveEvents(events: NonEmpty[Seq[Sequenced[PayloadId]]])(implicit traceContext: TraceContext): Future[Unit]
Save a series of events to the store.
Save a series of events to the store. Callers should determine batch size. No batching is done within the store. Callers MUST ensure that event-ids are unique otherwise stores will throw (likely a constraint violation).
- def savePayloads(payloads: NonEmpty[Seq[Payload]], instanceDiscriminator: UUID)(implicit traceContext: TraceContext): EitherT[Future, SavePayloadsError, Unit]
Save a series of payloads to the store.
Save a series of payloads to the store. Is up to the caller to determine a reasonable batch size and no batching is done within the store.
- def saveWatermark(ts: CantonTimestamp)(implicit traceContext: TraceContext): EitherT[Future, SaveWatermarkError, Unit]
Write the watermark that we promise not to write anything earlier than.
Write the watermark that we promise not to write anything earlier than. Does not indicate that there is an event written by this sequencer for this timestamp as there may be no activity at the sequencer, but updating the timestamp allows the sequencer to indicate that it's still alive. Return an error if we find our sequencer is offline.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def validateCommitMode(configuredCommitMode: CommitMode)(implicit traceContext: TraceContext): EitherT[Future, String, Unit]
Validate that the commit mode of a session is inline with the configured expected commit mode.
Validate that the commit mode of a session is inline with the configured expected commit mode. Return a human readable message about the mismatch in commit modes if not.
- 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])