- case class CounterCheckpoint(counter: SequencerCounter, timestamp: CantonTimestamp) extends Product with Serializable
Records when a memberId was registered
- class DbSequencerDomainConfigurationStore extends SequencerDomainConfigurationStore with DbStore
- class DbSequencerStore extends SequencerStore with NamedLogging with FlagCloseable with HasCloseContext
Database backed sequencer store.
Database backed sequencer store. Supports many concurrent instances reading and writing to the same backing database.
- case class DeliverErrorStoreEvent(sender: SequencerMemberId, messageId: MessageId, message: String256M, traceContext: TraceContext) extends StoreEvent[Nothing] with Product with Serializable
- case class DeliverStoreEvent[P](sender: SequencerMemberId, messageId: MessageId, members: NonEmptySet[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.
should include the sender and event recipients as they all will read the event
- 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
- case class Payload(id: PayloadId, content: ByteString) extends Product with Serializable
Payload with a assigned id and content as bytes
- 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.
- case class Presequenced[+E <: StoreEvent[_]](event: E, maxSequencingTimeO: Option[CantonTimestamp]) extends HasTraceContext with Product with Serializable
- case class RegisteredMember(memberId: SequencerMemberId, registeredFrom: CantonTimestamp) extends Product with Serializable
- sealed trait SaveCounterCheckpointError extends AnyRef
- sealed trait SaveLowerBoundError extends AnyRef
- sealed trait SavePayloadsError extends AnyRef
- sealed trait SaveWatermarkError extends AnyRef
- 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).
Read through async cache with no eviction (as members should be immutable). Members will only be cached if entries are found.
- 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
- 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.
- 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.
- object CounterCheckpoint extends Serializable
- object DeliverStoreEvent extends Serializable
- 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