object ProtocolVersion extends CompanionTrait with Serializable

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ProtocolVersion
  2. Serializable
  3. CompanionTrait
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. final case class InvalidProtocolVersion(description: String) extends FailureReason with Product with Serializable
  2. 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. def create(rawVersion: String): Either[String, ProtocolVersion]
  8. def createInternal(rawVersion: String): Either[String, (Int, Int, Int, Option[String])]
    Attributes
    protected
    Definition Classes
    CompanionTrait
  9. val deprecated: Seq[ProtocolVersion]
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  12. def fromProtoPrimitive(rawVersion: String): ParsingResult[ProtocolVersion]
  13. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. def getLatestSupportedProtocolDomain(release: ReleaseVersion): ProtocolVersion
    Annotations
    @SuppressWarnings()
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. val latest: ProtocolVersion
  18. val latestForTest: ProtocolVersion

    Should be used when hardcoding a protocol version for a test to signify that a hardcoded protocol version is safe in this instance.

  19. lazy val minimum_protocol_version: ProtocolVersion
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  23. def supportedProtocolsDomain(release: ReleaseVersion = ReleaseVersion.current, includeDevelopmentVersions: Boolean): NonEmpty[List[ProtocolVersion]]

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

  24. def supportedProtocolsParticipant(release: ReleaseVersion = ReleaseVersion.current, includeDevelopmentVersions: Boolean): NonEmpty[List[ProtocolVersion]]

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

  25. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  26. def toString(): String
    Definition Classes
    AnyRef → Any
  27. def tryCreate(rawVersion: String): ProtocolVersion

    Parse a ProtocolVersion

    Parse a ProtocolVersion

    returns

    Parsed protocol version

    Exceptions thrown

    java.lang.RuntimeException if the given parameter cannot be parsed to a protocol version

  28. def tryGetOptFromEnv: Option[ProtocolVersion]

    returns

    Parsed protocol version if found in environment variable CANTON_PROTOCOL_VERSION

    Exceptions thrown

    java.lang.RuntimeException if the given parameter cannot be parsed to a protocol version

  29. lazy val unstable_development: ProtocolVersion
  30. lazy val v2_0_0: ProtocolVersion
  31. lazy val v2_0_0_Todo_i8793: ProtocolVersion
  32. lazy val v3_0_0: ProtocolVersion
  33. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  34. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  35. 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

Inherited from Serializable

Inherited from CompanionTrait

Inherited from AnyRef

Inherited from Any

Ungrouped