Class EnvelopeBuffer$


  • public class EnvelopeBuffer$
    extends java.lang.Object
    INTERNAL API

    The strategy if the header format must be changed in an incompatible way is: - In the end we only want to support one header format, the latest, but during a rolling upgrade period we must support two versions in at least one Pekko patch release. - When supporting two version the outbound messages must still be encoded with old version. The Decoder on the receiving side must understand both versions. - Create a new copy of the header encoding/decoding logic (issue #24553: we should refactor to make that easier). - Bump ArteryTransport.HighestVersion and keep ArterySettings.Version as the old version. - Make sure Decoder picks the right parsing logic based on the version field in the incoming frame. - Release Akka, e.g. 2.5.13 - Later, remove the old header parsing logic and bump the ArterySettings.Version to the same as ArteryTransport.HighestVersion again. - Release Akka, e.g. 2.5.14, and announce that all nodes in the cluster must first be on version 2.5.13 before upgrading to 2.5.14. That means that it is not supported to do a rolling upgrade from 2.5.12 directly to 2.5.14.

    • Field Detail

      • MODULE$

        public static final EnvelopeBuffer$ MODULE$
        Static reference to the singleton instance of this Scala object.
    • Constructor Detail

      • EnvelopeBuffer$

        public EnvelopeBuffer$()
    • Method Detail

      • TagTypeMask

        public int TagTypeMask()
      • TagValueMask

        public int TagValueMask()
      • MetadataPresentFlag

        public org.apache.pekko.remote.artery.ByteFlag MetadataPresentFlag()
      • VersionOffset

        public int VersionOffset()
      • FlagsOffset

        public int FlagsOffset()
      • ActorRefCompressionTableVersionOffset

        public int ActorRefCompressionTableVersionOffset()
      • ClassManifestCompressionTableVersionOffset

        public int ClassManifestCompressionTableVersionOffset()
      • UidOffset

        public int UidOffset()
      • SerializerOffset

        public int SerializerOffset()
      • SenderActorRefTagOffset

        public int SenderActorRefTagOffset()
      • RecipientActorRefTagOffset

        public int RecipientActorRefTagOffset()
      • ClassManifestTagOffset

        public int ClassManifestTagOffset()
      • MetadataContainerAndLiteralSectionOffset

        public int MetadataContainerAndLiteralSectionOffset()