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. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  11. def fromProtoPrimitive(rawVersion: String): ParsingResult[ProtocolVersion]
  12. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. val latest: ProtocolVersion
  16. 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.

  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. def supportedProtocolsDomain: Seq[ProtocolVersion]

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

  21. def supportedProtocolsParticipant: Seq[ProtocolVersion]

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

  22. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  23. def toString(): String
    Definition Classes
    AnyRef → Any
  24. def tryCreate(rawVersion: String): ProtocolVersion
  25. lazy val v2_0_0: ProtocolVersion
  26. lazy val v2_0_0_Todo_i8793: ProtocolVersion
  27. lazy val v2_0_0_snapshot: ProtocolVersion
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  30. 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