com.digitalasset.canton.participant.store
SynchronizerConnectionConfigStore
Companion object SynchronizerConnectionConfigStore
trait SynchronizerConnectionConfigStore extends AutoCloseable
The configured synchronizers and their connection configuration.
Upon initial registration, the physical synchronizer id is unknown. Because of that, many methods take an *optional* physical synchronizer id.
Invariant of the store:
- For a given synchronizer alias, all the configurations have the same logical synchronizer ID
- Alphabetic
- By Inheritance
- SynchronizerConnectionConfigStore
- AutoCloseable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def aliasResolution: SynchronizerAliasResolution
- abstract def close(): Unit
- Definition Classes
- AutoCloseable
- Annotations
- @throws(classOf[java.lang.Exception])
- implicit abstract def ec: ExecutionContext
- Attributes
- protected
- abstract def get(psid: PhysicalSynchronizerId): Either[UnknownPSId, StoredSynchronizerConnectionConfig]
Retrieves the config for a given id.
Retrieves the config for a given id. Will return an SynchronizerConnectionConfigStore.UnknownPSId error if there is no config for id.
- abstract def get(alias: SynchronizerAlias, configuredPSId: ConfiguredPhysicalSynchronizerId): Either[MissingConfigForSynchronizer, StoredSynchronizerConnectionConfig]
Retrieves the config for a given alias and id.
Retrieves the config for a given alias and id. Will return an SynchronizerConnectionConfigStore.MissingConfigForSynchronizer error if there is no config for the pair (alias, id).
- abstract def getAll(): Seq[StoredSynchronizerConnectionConfig]
Retrieves all configured synchronizers connection configs
- abstract def getAllFor(alias: SynchronizerAlias): Either[UnknownAlias, NonEmpty[Seq[StoredSynchronizerConnectionConfig]]]
- abstract def getAllForAliasInternal(alias: SynchronizerAlias)(implicit traceContext: TraceContext): FutureUnlessShutdown[Seq[StoredSynchronizerConnectionConfig]]
- Attributes
- protected
- abstract def logger: TracedLogger
- Attributes
- protected
- abstract def put(config: SynchronizerConnectionConfig, status: Status, configuredPSId: ConfiguredPhysicalSynchronizerId, synchronizerPredecessor: Option[SynchronizerPredecessor])(implicit traceContext: TraceContext): EitherT[FutureUnlessShutdown, Error, Unit]
Stores a synchronizer connection config together with the status.
Stores a synchronizer connection config together with the status. Primary identifier is the (synchronizer alias, physical synchronizer id). Will return an SynchronizerConnectionConfigStore.ConfigAlreadyExists error if a config for that alias and physical synchronizer id already exists.
- abstract def refreshCache()(implicit traceContext: TraceContext): FutureUnlessShutdown[Unit]
Dump and refresh all connection configs.
Dump and refresh all connection configs. Used when a warm participant replica becomes active to ensure it has accurate configs cached.
- abstract def replace(configuredPSId: ConfiguredPhysicalSynchronizerId, config: SynchronizerConnectionConfig)(implicit traceContext: TraceContext): EitherT[FutureUnlessShutdown, Error, Unit]
Replaces the config for the given alias and physical synchronizer id.
Replaces the config for the given alias and physical synchronizer id. Will return an SynchronizerConnectionConfigStore.MissingConfigForSynchronizer error if there is no config for the (alias, physicalSynchronizerId).
- abstract def setPhysicalSynchronizerId(alias: SynchronizerAlias, psid: PhysicalSynchronizerId)(implicit traceContext: TraceContext): EitherT[FutureUnlessShutdown, Error, Unit]
- abstract def setStatus(alias: SynchronizerAlias, configuredPSId: ConfiguredPhysicalSynchronizerId, status: Status)(implicit traceContext: TraceContext): EitherT[FutureUnlessShutdown, Error, Unit]
Set the synchronizer configuration status
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]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def getActive(id: SynchronizerId): Either[Error, StoredSynchronizerConnectionConfig]
Retrieves the active connection for
id
.Retrieves the active connection for
id
. Return an SynchronizerConnectionConfigStore.Error if the id is unknown or if no connection is active. If several active configs are found, return the one with the highest com.digitalasset.canton.topology.PhysicalSynchronizerId. - def getActive(alias: SynchronizerAlias): Either[Error, StoredSynchronizerConnectionConfig]
Retrieves the active connection for
alias
.Retrieves the active connection for
alias
. Return an SynchronizerConnectionConfigStore.Error if the alias is unknown or if no connection is active. If several active configs are found, return the one with the highest com.digitalasset.canton.topology.PhysicalSynchronizerId. - def getAllFor(id: SynchronizerId): Either[UnknownId, NonEmpty[Seq[StoredSynchronizerConnectionConfig]]]
- def getAllStatusesFor(id: SynchronizerId): Either[UnknownId, NonEmpty[Seq[Status]]]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- def predecessorCompatibilityCheck(configuredPSId: ConfiguredPhysicalSynchronizerId, synchronizerPredecessor: Option[SynchronizerPredecessor]): Either[Error, Unit]
Ensures a configured PSId can be the successor of another one.
Ensures a configured PSId can be the successor of another one.
- Attributes
- protected
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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])
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])