Class ReplicationMsg

    • Field Detail

      • MSG_TYPE_DISK_ENCODING

        public static final byte MSG_TYPE_DISK_ENCODING
        Reserved type for uses other than protocol messages.
        See Also:
        Constant Field Values
      • COMPACT_MASK

        public static final byte COMPACT_MASK
        Bitmask used to detect compact encoding of message stored in ReplicationDomainDB.
        See Also:
        Constant Field Values
      • COMPACT_TYPE_MODIFY

        public static final byte COMPACT_TYPE_MODIFY
        Type used by compact representation of a ModifyMsg stored in a ReplicationDomainDB.
        See Also:
        Constant Field Values
      • COMPACT_TYPE_ADD

        public static final byte COMPACT_TYPE_ADD
        Type used by compact representation of a AddMsg stored in a ReplicationDomainDB.
        See Also:
        Constant Field Values
      • COMPACT_TYPE_DELETE

        public static final byte COMPACT_TYPE_DELETE
        Type used by compact representation of a DeleteMsg stored in a ReplicationDomainDB.
        See Also:
        Constant Field Values
      • COMPACT_TYPE_MODIFY_DN

        public static final byte COMPACT_TYPE_MODIFY_DN
        Type used by compact representation of a ModifyDNMsg stored in a ReplicationDomainDB.
        See Also:
        Constant Field Values
      • COMPACT_TYPE_REPLICA_OFFLINE

        public static final byte COMPACT_TYPE_REPLICA_OFFLINE
        Type used by compact representation of a ReplicaOfflineMsg stored in a ReplicationDomainDB.
        See Also:
        Constant Field Values
    • Constructor Detail

      • ReplicationMsg

        protected ReplicationMsg()
        Protected constructor.
    • Method Detail

      • getBytes

        public abstract byte[] getBytes​(short protocolVersion)
        Serializes the PDU using the provided replication protocol version. WARNING: should be overwritten by a PDU (sub class) we want to support older protocol version serialization for.
        Parameters:
        protocolVersion - The protocol version to use for serialization. The version should normally be older than the current one.
        Returns:
        The encoded PDU, or null if the message isn't supported in that protocol version.
      • isRetryable

        public boolean isRetryable()
        Returns if in case of I/O error we should try to send this message again.
        Returns:
        if in case of I/O error we should try to send this message again
      • decodeMsg

        public static ReplicationMsg decodeMsg​(byte[] buffer,
                                               short protocolVersion)
                                        throws DataFormatException,
                                               NotSupportedOldVersionPDUException
        Generates a ReplicationMsg from its encoded form. This un-serialization is done taking into account the various supported replication protocol versions.
        Parameters:
        buffer - The encode form of the ReplicationMsg.
        protocolVersion - The version to use to decode the msg.
        Returns:
        The generated SynchronizationMessage.
        Throws:
        DataFormatException - If the encoded form was not a valid msg.
        NotSupportedOldVersionPDUException - If the PDU is part of an old protocol version and we do not support it.