Packages

class PackagePreferenceBackend extends NamedLogging

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PackagePreferenceBackend
  2. NamedLogging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new PackagePreferenceBackend(clock: Clock, adminParty: LfPartyId, syncService: SyncService, loggerFactory: NamedLoggerFactory)(implicit ec: ExecutionContext)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  10. def getPreferredPackageVersionForParticipant(packageName: PackageName, supportedPackageIds: Set[LfPackageId], supportedPackageIdsDescription: String)(implicit loggingContext: LoggingContextWithTrace): FutureUnlessShutdown[Either[String, LfPackageId]]
  11. def getPreferredPackages(packageVettingRequirements: PackageVettingRequirements, packageFilter: PackageFilter, synchronizerId: Option[SynchronizerId], vettingValidAt: Option[CantonTimestamp])(implicit loggingContext: LoggingContextWithTrace): FutureUnlessShutdown[Either[String, (Seq[PackageReference], SynchronizerId)]]

    Computes the preferred package versions for the provided package vetting requirements.

    Computes the preferred package versions for the provided package vetting requirements.

    In detail, the method outputs the most preferred package for each package-name specified in the package vetting requirements. For a package version to be eligible, it must satisfy the following conditions:

    1. It is vetted by all the parties specified in the value of its corresponding package vetting requirements map entry.
    2. All its package dependencies are "commonly-vetted" by all the "interested" parties

    Note:

    • an interested party is a party that appears in the package vetting requirements
    • a commonly-vetted package refers to a package-id that is vetted by all parties that have at least a package-id vetted pertaining to the dependency's package-name.
    • for brevity, we refer here to a party vetting a package if all its hosting participants have vetted the package.
    packageVettingRequirements

    The package vetting requirements for which the package preferences should be computed.

    packageFilter

    Filters which package IDs are eligible for consideration in the preference computation for each package-name specified in the provided requirements.

    synchronizerId

    If provided, only this synchronizer's vetting topology state is considered in the computation. Otherwise, the highest package version from all the connected synchronizers is returned.

    vettingValidAt

    If provided, used to compute the package vetting state at this timestamp.

    returns

    if a solution exists, the best package preference coupled with the synchronizer id that it pertains to.

  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    NamedLogging
  15. val loggerFactory: NamedLoggerFactory
  16. implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. def noTracingLogger: Logger
    Attributes
    protected
    Definition Classes
    NamedLogging
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from NamedLogging

Inherited from AnyRef

Inherited from Any

Ungrouped