Class EnvelopeBuffer$

java.lang.Object
org.apache.pekko.remote.artery.EnvelopeBuffer$

public class EnvelopeBuffer$ extends 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 Details

    • MODULE$

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

    • EnvelopeBuffer$

      public EnvelopeBuffer$()
  • Method Details

    • 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()