package store
- Alphabetic
- Public
- Protected
Type Members
- final case class CounterCheckpoint(counter: SequencerCounter, timestamp: CantonTimestamp, latestTopologyClientTimestamp: Option[CantonTimestamp]) extends PrettyPrinting with Product with Serializable
Checkpoint a sequencer subscription can be reinitialized from.
Checkpoint a sequencer subscription can be reinitialized from.
- counter
The sequencer counter associated to the event with the given timestamp.
- timestamp
The timestamp of the event with the given sequencer counter.
- latestTopologyClientTimestamp
The latest timestamp before or at
timestamp
at which an event was created from a batch that contains an envelope addressed to the topology client used by the SequencerReader.
- class DbSequencerDomainConfigurationStore extends SequencerDomainConfigurationStore with DbStore
- class DbSequencerStore extends SequencerStore with NamedLogging with FlagCloseable
Database backed sequencer store.
Database backed sequencer store. Supports many concurrent instances reading and writing to the same backing database.
- final case class DeliverErrorStoreEvent(sender: SequencerMemberId, messageId: MessageId, message: String256M, traceContext: TraceContext) extends StoreEvent[Nothing] with Product with Serializable
- final case class DeliverStoreEvent[P](sender: SequencerMemberId, messageId: MessageId, members: NonEmpty[SortedSet[SequencerMemberId]], payload: P, signingTimestampO: Option[CantonTimestamp], traceContext: TraceContext) extends StoreEvent[P] with Product with Serializable
Structure for storing a deliver events.
Structure for storing a deliver events.
- members
should include the sender and event recipients as they all will read the event
- signingTimestampO
The timestamp of the snapshot to be used for determining the signing key of this event scala.None means that the sequencing timestamp should be used.
- class HASequencerWriterStore extends SequencerWriterStore with FlagCloseable with NamedLogging
Sequencer writer storage intended to use a resource.DbStorageMulti.
- class InMemorySequencerDomainConfigurationStore extends SequencerDomainConfigurationStore
- class InMemorySequencerStore extends SequencerStore
- final case class Payload(id: PayloadId, content: ByteString) extends Product with Serializable
Payload with a assigned id and content as bytes
- final case class PayloadId(id: CantonTimestamp) extends PrettyPrinting with Product with Serializable
Identifier for a payload.
Identifier for a payload. Should ideally be unique however this will be validated in SequencerStore.savePayloads. Is expected id is a timestamp in microseconds.
- final case class Presequenced[+E <: StoreEvent[_]](event: E, maxSequencingTimeO: Option[CantonTimestamp]) extends HasTraceContext with Product with Serializable
- final case class ReadEventPayloads(payloads: Seq[Sequenced[Payload]]) extends ReadEvents with Product with Serializable
- trait ReadEvents extends AnyRef
- final case class RegisteredMember(memberId: SequencerMemberId, registeredFrom: CantonTimestamp) extends Product with Serializable
- final case class SafeWatermark(nextTimestamp: Option[CantonTimestamp]) extends ReadEvents with Product with Serializable
No events found but may return the safe watermark across online sequencers to read from the next time
- sealed trait SaveCounterCheckpointError extends AnyRef
- sealed trait SaveLowerBoundError extends AnyRef
- sealed trait SavePayloadsError extends AnyRef
- sealed trait SaveWatermarkError extends AnyRef
- final case class Sequenced[+P](timestamp: CantonTimestamp, event: StoreEvent[P]) extends HasTraceContext with Product with Serializable
Wrapper to assign a timestamp to a event.
Wrapper to assign a timestamp to a event. Useful to structure this way as events are only timestamped right before they are persisted (this is effectively the "sequencing" step). Before this point the sequencer component is free to reorder incoming events.
- final case class SequencerDomainConfiguration(domainId: DomainId, domainParameters: StaticDomainParameters) extends Product with Serializable
- trait SequencerDomainConfigurationStore extends AnyRef
- sealed trait SequencerDomainConfigurationStoreError extends AnyRef
- class SequencerMemberCache extends AnyRef
Read through async cache with no eviction (as members should be immutable, except for unauthenticated members that can be evicted when they get unregistered).
Read through async cache with no eviction (as members should be immutable, except for unauthenticated members that can be evicted when they get unregistered). Members will only be cached if entries are found.
- final case class SequencerMemberId(id: Int) extends PrettyPrinting with Product with Serializable
In the sequencer database we use integers to represent members.
In the sequencer database we use integers to represent members. Wrap this in the APIs to not confuse with other numeric types.
- trait SequencerStore extends NamedLogging with AutoCloseable
Persistence for the Sequencer.
Persistence for the Sequencer. Writers are expected to create a SequencerWriterStore which may delegate to this underlying store through an appropriately managed storage instance.
- trait SequencerWriterStore extends AutoCloseable
A subset of the sequencer storage methods required by the SequencerWriter with convenience methods to avoid passing the
instanceIndex
everywhere. - sealed trait StoreEvent[+PayloadReference] extends HasTraceContext
Sequencer events in a structure suitable for persisting in our events store.
Sequencer events in a structure suitable for persisting in our events store. The payload type is parameterized to allow specifying either a full payload or just a id referencing a payload.
- class UniqueKeyViolationException extends RuntimeException
Thrown when a record that must be unique is inserted with a non-unique key.
Thrown when a record that must be unique is inserted with a non-unique key. Mirrors the type of exceptions that we would expect to see from a database.
- final case class Watermark(timestamp: CantonTimestamp, online: Boolean) extends Product with Serializable
Time that the sequencer commits to not writing events before, and therefore it is safe to read events less or equal to this timestamp.
Value Members
- object CounterCheckpoint extends Serializable
- object DeliverStoreEvent extends Serializable
- object InMemorySequencerStore
- case object MemberDisabledError extends Product with Serializable
- object PayloadId extends Serializable
- object Presequenced extends Serializable
- object SaveCounterCheckpointError
- object SaveLowerBoundError
- object SavePayloadsError
- object SaveWatermarkError
- object SequencerDomainConfigurationStore
- object SequencerDomainConfigurationStoreError
- object SequencerMemberId extends Serializable
- object SequencerStore
- object SequencerWriterStore