public abstract class org.apache.cassandra.transport.Message
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.cassandra.transport.Message
  super_class: java.lang.Object
{
  protected static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  private static final java.util.Set<java.lang.String> ioExceptionsAtDebugLevel;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public final org.apache.cassandra.transport.Message$Type type;
    descriptor: Lorg/apache/cassandra/transport/Message$Type;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  protected org.apache.cassandra.transport.Connection connection;
    descriptor: Lorg/apache/cassandra/transport/Connection;
    flags: (0x0004) ACC_PROTECTED

  private int streamId;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.apache.cassandra.transport.Frame sourceFrame;
    descriptor: Lorg/apache/cassandra/transport/Frame;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.String, java.nio.ByteBuffer> customPayload;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/nio/ByteBuffer;>;

  protected org.apache.cassandra.transport.ProtocolVersion forcedProtocolVersion;
    descriptor: Lorg/apache/cassandra/transport/ProtocolVersion;
    flags: (0x0004) ACC_PROTECTED

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 62
            ldc Lorg/apache/cassandra/transport/Message;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.transport.Message.logger:Lorg/slf4j/Logger;
         1: .line 69
            invokestatic com.google.common.collect.ImmutableSet.builder:()Lcom/google/common/collect/ImmutableSet$Builder;
         2: .line 70
            ldc "Connection reset by peer"
            invokevirtual com.google.common.collect.ImmutableSet$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$Builder;
         3: .line 71
            ldc "Broken pipe"
            invokevirtual com.google.common.collect.ImmutableSet$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$Builder;
         4: .line 72
            ldc "Connection timed out"
            invokevirtual com.google.common.collect.ImmutableSet$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$Builder;
         5: .line 73
            invokevirtual com.google.common.collect.ImmutableSet$Builder.build:()Lcom/google/common/collect/ImmutableSet;
         6: .line 69
            putstatic org.apache.cassandra.transport.Message.ioExceptionsAtDebugLevel:Ljava/util/Set;
         7: .line 73
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(org.apache.cassandra.transport.Message$Type);
    descriptor: (Lorg/apache/cassandra/transport/Message$Type;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.transport.Message this
        start local 1 // org.apache.cassandra.transport.Message$Type type
         0: .line 162
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 160
            aload 0 /* this */
            aconst_null
            putfield org.apache.cassandra.transport.Message.forcedProtocolVersion:Lorg/apache/cassandra/transport/ProtocolVersion;
         2: .line 164
            aload 0 /* this */
            aload 1 /* type */
            putfield org.apache.cassandra.transport.Message.type:Lorg/apache/cassandra/transport/Message$Type;
         3: .line 165
            return
        end local 1 // org.apache.cassandra.transport.Message$Type type
        end local 0 // org.apache.cassandra.transport.Message this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/transport/Message;
            0    4     1  type  Lorg/apache/cassandra/transport/Message$Type;
    MethodParameters:
      Name  Flags
      type  

  public void attach(org.apache.cassandra.transport.Connection);
    descriptor: (Lorg/apache/cassandra/transport/Connection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.transport.Message this
        start local 1 // org.apache.cassandra.transport.Connection connection
         0: .line 169
            aload 0 /* this */
            aload 1 /* connection */
            putfield org.apache.cassandra.transport.Message.connection:Lorg/apache/cassandra/transport/Connection;
         1: .line 170
            return
        end local 1 // org.apache.cassandra.transport.Connection connection
        end local 0 // org.apache.cassandra.transport.Message this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/cassandra/transport/Message;
            0    2     1  connection  Lorg/apache/cassandra/transport/Connection;
    MethodParameters:
            Name  Flags
      connection  

  public org.apache.cassandra.transport.Connection connection();
    descriptor: ()Lorg/apache/cassandra/transport/Connection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.transport.Message this
         0: .line 174
            aload 0 /* this */
            getfield org.apache.cassandra.transport.Message.connection:Lorg/apache/cassandra/transport/Connection;
            areturn
        end local 0 // org.apache.cassandra.transport.Message this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/transport/Message;

  public org.apache.cassandra.transport.Message setStreamId(int);
    descriptor: (I)Lorg/apache/cassandra/transport/Message;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.transport.Message this
        start local 1 // int streamId
         0: .line 179
            aload 0 /* this */
            iload 1 /* streamId */
            putfield org.apache.cassandra.transport.Message.streamId:I
         1: .line 180
            aload 0 /* this */
            areturn
        end local 1 // int streamId
        end local 0 // org.apache.cassandra.transport.Message this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/transport/Message;
            0    2     1  streamId  I
    MethodParameters:
          Name  Flags
      streamId  

  public int getStreamId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.transport.Message this
         0: .line 185
            aload 0 /* this */
            getfield org.apache.cassandra.transport.Message.streamId:I
            ireturn
        end local 0 // org.apache.cassandra.transport.Message this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/transport/Message;

  public void setSourceFrame(org.apache.cassandra.transport.Frame);
    descriptor: (Lorg/apache/cassandra/transport/Frame;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.transport.Message this
        start local 1 // org.apache.cassandra.transport.Frame sourceFrame
         0: .line 190
            aload 0 /* this */
            aload 1 /* sourceFrame */
            putfield org.apache.cassandra.transport.Message.sourceFrame:Lorg/apache/cassandra/transport/Frame;
         1: .line 191
            return
        end local 1 // org.apache.cassandra.transport.Frame sourceFrame
        end local 0 // org.apache.cassandra.transport.Message this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/cassandra/transport/Message;
            0    2     1  sourceFrame  Lorg/apache/cassandra/transport/Frame;
    MethodParameters:
             Name  Flags
      sourceFrame  

  public org.apache.cassandra.transport.Frame getSourceFrame();
    descriptor: ()Lorg/apache/cassandra/transport/Frame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.transport.Message this
         0: .line 195
            aload 0 /* this */
            getfield org.apache.cassandra.transport.Message.sourceFrame:Lorg/apache/cassandra/transport/Frame;
            areturn
        end local 0 // org.apache.cassandra.transport.Message this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/transport/Message;

  public java.util.Map<java.lang.String, java.nio.ByteBuffer> getCustomPayload();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.transport.Message this
         0: .line 200
            aload 0 /* this */
            getfield org.apache.cassandra.transport.Message.customPayload:Ljava/util/Map;
            areturn
        end local 0 // org.apache.cassandra.transport.Message this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/transport/Message;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/nio/ByteBuffer;>;

  public void setCustomPayload(java.util.Map<java.lang.String, java.nio.ByteBuffer>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.transport.Message this
        start local 1 // java.util.Map customPayload
         0: .line 205
            aload 0 /* this */
            aload 1 /* customPayload */
            putfield org.apache.cassandra.transport.Message.customPayload:Ljava/util/Map;
         1: .line 206
            return
        end local 1 // java.util.Map customPayload
        end local 0 // org.apache.cassandra.transport.Message this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/apache/cassandra/transport/Message;
            0    2     1  customPayload  Ljava/util/Map<Ljava/lang/String;Ljava/nio/ByteBuffer;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/nio/ByteBuffer;>;)V
    MethodParameters:
               Name  Flags
      customPayload  
}
SourceFile: "Message.java"
NestMembers:
  org.apache.cassandra.transport.Message$Codec  org.apache.cassandra.transport.Message$Direction  org.apache.cassandra.transport.Message$Dispatcher  org.apache.cassandra.transport.Message$Dispatcher$FlushItem  org.apache.cassandra.transport.Message$Dispatcher$Flusher  org.apache.cassandra.transport.Message$Dispatcher$ImmediateFlusher  org.apache.cassandra.transport.Message$Dispatcher$LegacyFlusher  org.apache.cassandra.transport.Message$ExceptionHandler  org.apache.cassandra.transport.Message$ExceptionHandler$1  org.apache.cassandra.transport.Message$ProtocolDecoder  org.apache.cassandra.transport.Message$ProtocolEncoder  org.apache.cassandra.transport.Message$Request  org.apache.cassandra.transport.Message$Response  org.apache.cassandra.transport.Message$Type  org.apache.cassandra.transport.Message$UnexpectedChannelExceptionHandler
InnerClasses:
  public Builder = com.google.common.collect.ImmutableSet$Builder of com.google.common.collect.ImmutableSet
  public abstract Codec = org.apache.cassandra.transport.Message$Codec of org.apache.cassandra.transport.Message
  public final Direction = org.apache.cassandra.transport.Message$Direction of org.apache.cassandra.transport.Message
  public Dispatcher = org.apache.cassandra.transport.Message$Dispatcher of org.apache.cassandra.transport.Message
  public final ExceptionHandler = org.apache.cassandra.transport.Message$ExceptionHandler of org.apache.cassandra.transport.Message
  public ProtocolDecoder = org.apache.cassandra.transport.Message$ProtocolDecoder of org.apache.cassandra.transport.Message
  public ProtocolEncoder = org.apache.cassandra.transport.Message$ProtocolEncoder of org.apache.cassandra.transport.Message
  public abstract Request = org.apache.cassandra.transport.Message$Request of org.apache.cassandra.transport.Message
  public abstract Response = org.apache.cassandra.transport.Message$Response of org.apache.cassandra.transport.Message
  public final Type = org.apache.cassandra.transport.Message$Type of org.apache.cassandra.transport.Message
  final UnexpectedChannelExceptionHandler = org.apache.cassandra.transport.Message$UnexpectedChannelExceptionHandler of org.apache.cassandra.transport.Message