Class ProtocolVersion


  • public final class ProtocolVersion
    extends Object
    The version utility class for the replication protocol.
    • Field Detail

      • UNKNOWN_VERSION

        public static final short UNKNOWN_VERSION
        The constant to use when the protocol version is unknown.
        See Also:
        Constant Field Values
      • REPLICATION_PROTOCOL_V1

        public static final short REPLICATION_PROTOCOL_V1
        The constant for the first historical version of the replication protocol.
        See Also:
        Constant Field Values
      • REPLICATION_PROTOCOL_V1_REAL

        public static final short REPLICATION_PROTOCOL_V1_REAL
        The constant for the real value of the first historical version of the replication protocol (was used in start messages only).
        See Also:
        Constant Field Values
      • REPLICATION_PROTOCOL_V2

        public static final short REPLICATION_PROTOCOL_V2
        The constant for the second version of the replication protocol.
        • Add fields in the header for assured replication.
        See Also:
        Constant Field Values
      • REPLICATION_PROTOCOL_V3

        public static final short REPLICATION_PROTOCOL_V3
        The constant for the 3rd version of the replication protocol.
        • Add messages for remote ECL : not used as of today.
        See Also:
        Constant Field Values
      • REPLICATION_PROTOCOL_V4

        public static final short REPLICATION_PROTOCOL_V4
        The constant for the 4th version of the replication protocol.
        • Add to the body of the ADD/MOD/MODDN/DEL msgs, a list of attribute for ECL entry attributes.
        • Modified algorithm for choosing a RS to connect to: introduction of a ReplicationServerDSMsg message.
        • also added of the server URL in RSInfo of TopologyMsg
        • Introduction of a StopMsg for proper connections ending.
        • Initialization failover/flow control
        See Also:
        Constant Field Values
      • REPLICATION_PROTOCOL_V5

        public static final short REPLICATION_PROTOCOL_V5
        The constant for the 5th version of the replication protocol.
        • Add support for wild-cards in change log included attributes
        • Add support for specifying additional included attributes for deletes
        • See OPENDJ-194.
        See Also:
        Constant Field Values
      • REPLICATION_PROTOCOL_V6

        public static final short REPLICATION_PROTOCOL_V6
        The constant for the 6th version of the replication protocol.
        • include DS local URL in the DSInfo of TopologyMsg.
        See Also:
        Constant Field Values
      • REPLICATION_PROTOCOL_V7

        public static final short REPLICATION_PROTOCOL_V7
        The constant for the 7th version of the replication protocol.
        • compact encoding for length, CSNs, and server IDs.
        See Also:
        Constant Field Values
      • REPLICATION_PROTOCOL_V8

        public static final short REPLICATION_PROTOCOL_V8
        The constant for the 8th version of the replication protocol.
        • New ReplicaOfflineMsg.
        See Also:
        Constant Field Values
      • REPLICATION_PROTOCOL_V9

        public static final short REPLICATION_PROTOCOL_V9
        The constant for the 9th version of the replication protocol.
        • Drop support for send/receive window.
        See Also:
        Constant Field Values
      • REPLICATION_PROTOCOL_V10

        public static final short REPLICATION_PROTOCOL_V10
        The constant for the 10th version of the replication protocol.
        • Group ID is a string. Legacy Group ID is set to
          • a number between 1 and 127 included, if the Group ID can be parsed to such an integer.
          • 1 for all other cases.
        • Assured Replication: message types and flags related to it have been removed.
        • New ExtendedStartMsg to exchange GroupId and ProcessId.
        See Also:
        Constant Field Values
      • REPLICATION_PROTOCOL_V11

        public static final short REPLICATION_PROTOCOL_V11
        The constant for the 11th version of the replication protocol.
        • MonitorMsgRequest and MonitorMsg are only used for compatibility with previous versions.
        • Server IDs can be strings.
        • TopologyMsg add service discovery information.
        See Also:
        Constant Field Values
    • Method Detail

      • getLatestVersion

        public static short getLatestVersion()
        Gets the latest version of the replication protocol.
        Returns:
        The latest version of the protocol.
      • getCompatibleVersion

        public static short getCompatibleVersion​(short version)
        Specifies the oldest version of the protocol from the provided one and the latest one.
        Parameters:
        version - The version to be compared to the latest one.
        Returns:
        The minimal protocol version.