o

com.digitalasset.canton.version

ProtocolVersionCompatibility

object ProtocolVersionCompatibility

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

Type Members

  1. final case class UnsupportedVersion(version: ProtocolVersion, supported: Seq[ProtocolVersion]) extends FailureReason with Product with Serializable

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 canClientConnectToServer(clientSupportedVersions: Seq[ProtocolVersion], server: ProtocolVersion, clientMinimumProtocolVersion: Option[ProtocolVersion]): Either[HandshakeError, Unit]

    Returns successfully if the client and server should be compatible.

    Returns successfully if the client and server should be compatible. Otherwise returns an error message.

    The client and server are compatible if the protocol version required by the server is not lower than the clientMinimumVersion and the protocol version required by the server is among the protocol versions supported by the client (exact string match).

    Note that this compatibility check cannot be implemented by simply verifying whether the supported version by the client is larger than the required version by the server as this may lead to issues with patches for old minor versions. For example, if the latest release version is 1.3.0 but we release patch release version 1.1.1 after the release of version 1.3.0, a node on version 1.3.0 which only checks whether are versions are smaller, would mistakenly indicate that it is compatible with a node running version 1.1.1. This issue is avoided if the client sends all protocol versions it supports and an exact string match is required. Generally, this sort of error can occur because Canton is operated in a distributed environment where not every node is on the same version.

  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. def isSupportedByDomainNode(cantonNodeParameters: CantonNodeParameters, protocolVersion: ProtocolVersion): Either[String, Unit]

    Check used by domain nodes (mediator / sequencer) to verify whether they are able to join a domain using a specific protocol

  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. def supportedProtocolsParticipant(includeUnstableVersions: Boolean, release: ReleaseVersion): NonEmpty[List[ProtocolVersion]]

    Returns the protocol versions supported by the participant of the current release.

  17. def supportedProtocolsParticipant(cantonNodeParameters: CantonNodeParameters, release: ReleaseVersion = ReleaseVersion.current): NonEmpty[List[ProtocolVersion]]

    Returns the protocol versions supported by the participant of the current release.

  18. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    AnyRef → Any
  20. def trySupportedProtocolsDomain(includeUnstableVersions: Boolean, release: ReleaseVersion): NonEmpty[List[ProtocolVersion]]

    Returns the protocol versions supported by the domain of the current release.

    Returns the protocol versions supported by the domain of the current release. Fails if no stable protocol versions are found

  21. def trySupportedProtocolsDomain(cantonNodeParameters: CantonNodeParameters, release: ReleaseVersion = ReleaseVersion.current): NonEmpty[List[ProtocolVersion]]

    Returns the protocol versions supported by the domain of the current release.

    Returns the protocol versions supported by the domain of the current release. Fails if no stable protocol versions are found

  22. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  24. 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
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped