class org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler extends org.apache.cassandra.streaming.ConnectionHandler$MessageHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler
  super_class: org.apache.cassandra.streaming.ConnectionHandler$MessageHandler
{
  private final int socketTimeout;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(org.apache.cassandra.streaming.StreamSession, int);
    descriptor: (Lorg/apache/cassandra/streaming/StreamSession;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler this
        start local 1 // org.apache.cassandra.streaming.StreamSession session
        start local 2 // int socketTimeout
         0: .line 279
            aload 0 /* this */
            aload 1 /* session */
            iconst_0
            invokespecial org.apache.cassandra.streaming.ConnectionHandler$MessageHandler.<init>:(Lorg/apache/cassandra/streaming/StreamSession;Z)V
         1: .line 280
            aload 0 /* this */
            iload 2 /* socketTimeout */
            putfield org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.socketTimeout:I
         2: .line 281
            return
        end local 2 // int socketTimeout
        end local 1 // org.apache.cassandra.streaming.StreamSession session
        end local 0 // org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/apache/cassandra/streaming/ConnectionHandler$IncomingMessageHandler;
            0    3     1        session  Lorg/apache/cassandra/streaming/StreamSession;
            0    3     2  socketTimeout  I
    MethodParameters:
               Name  Flags
      session        
      socketTimeout  

  public void start(java.net.Socket, int, boolean);
    descriptor: (Ljava/net/Socket;IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler this
        start local 1 // java.net.Socket socket
        start local 2 // int version
        start local 3 // boolean initiator
         0: .line 288
            aload 1 /* socket */
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.socketTimeout:I
            invokevirtual java.net.Socket.setSoTimeout:(I)V
         1: .line 289
            goto 4
         2: .line 290
      StackMap locals:
      StackMap stack: java.net.SocketException
            astore 4 /* e */
        start local 4 // java.net.SocketException e
         3: .line 292
            getstatic org.apache.cassandra.streaming.ConnectionHandler.logger:Lorg/slf4j/Logger;
            ldc "Could not set incoming socket timeout to {}"
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.socketTimeout:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 4 /* e */
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 4 // java.net.SocketException e
         4: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* socket */
            iload 2 /* version */
            iload 3 /* initiator */
            invokespecial org.apache.cassandra.streaming.ConnectionHandler$MessageHandler.start:(Ljava/net/Socket;IZ)V
         5: .line 295
            return
        end local 3 // boolean initiator
        end local 2 // int version
        end local 1 // java.net.Socket socket
        end local 0 // org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/apache/cassandra/streaming/ConnectionHandler$IncomingMessageHandler;
            0    6     1     socket  Ljava/net/Socket;
            0    6     2    version  I
            0    6     3  initiator  Z
            3    4     4          e  Ljava/net/SocketException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.net.SocketException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      socket     
      version    
      initiator  

  protected java.lang.String name();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler this
         0: .line 299
            ldc "STREAM-IN"
            areturn
        end local 0 // org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/streaming/ConnectionHandler$IncomingMessageHandler;

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler this
         0: .line 307
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.socket:Ljava/net/Socket;
            invokestatic org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.getReadChannel:(Ljava/net/Socket;)Ljava/nio/channels/ReadableByteChannel;
            astore 1 /* in */
        start local 1 // java.nio.channels.ReadableByteChannel in
         1: .line 308
            goto 6
         2: .line 311
      StackMap locals: java.nio.channels.ReadableByteChannel
      StackMap stack:
            aload 1 /* in */
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.protocolVersion:I
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.session:Lorg/apache/cassandra/streaming/StreamSession;
            invokestatic org.apache.cassandra.streaming.messages.StreamMessage.deserialize:(Ljava/nio/channels/ReadableByteChannel;ILorg/apache/cassandra/streaming/StreamSession;)Lorg/apache/cassandra/streaming/messages/StreamMessage;
            astore 2 /* message */
        start local 2 // org.apache.cassandra.streaming.messages.StreamMessage message
         3: .line 312
            getstatic org.apache.cassandra.streaming.ConnectionHandler.logger:Lorg/slf4j/Logger;
            ldc "[Stream #{}] Received {}"
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.session:Lorg/apache/cassandra/streaming/StreamSession;
            invokevirtual org.apache.cassandra.streaming.StreamSession.planId:()Ljava/util/UUID;
            aload 2 /* message */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 315
            aload 2 /* message */
            ifnull 6
         5: .line 317
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.session:Lorg/apache/cassandra/streaming/StreamSession;
            aload 2 /* message */
            invokevirtual org.apache.cassandra.streaming.StreamSession.messageReceived:(Lorg/apache/cassandra/streaming/messages/StreamMessage;)V
        end local 2 // org.apache.cassandra.streaming.messages.StreamMessage message
         6: .line 308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.isClosed:()Z
            ifeq 2
        end local 1 // java.nio.channels.ReadableByteChannel in
         7: .line 320
            goto 15
         8: .line 321
      StackMap locals: org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler
      StackMap stack: java.lang.Throwable
            astore 1 /* t */
        start local 1 // java.lang.Throwable t
         9: .line 323
            aload 1 /* t */
            invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
        10: .line 324
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.session:Lorg/apache/cassandra/streaming/StreamSession;
            aload 1 /* t */
            invokevirtual org.apache.cassandra.streaming.StreamSession.onError:(Ljava/lang/Throwable;)V
        end local 1 // java.lang.Throwable t
        11: .line 328
            aload 0 /* this */
            invokevirtual org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.signalCloseDone:()V
            goto 16
        12: .line 327
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
        13: .line 328
            aload 0 /* this */
            invokevirtual org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.signalCloseDone:()V
        14: .line 329
            aload 3
            athrow
        15: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.signalCloseDone:()V
        16: .line 330
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lorg/apache/cassandra/streaming/ConnectionHandler$IncomingMessageHandler;
            1    7     1       in  Ljava/nio/channels/ReadableByteChannel;
            3    6     2  message  Lorg/apache/cassandra/streaming/messages/StreamMessage;
            9   11     1        t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     7       8  Class java.lang.Throwable
           0    11      12  any
}
SourceFile: "ConnectionHandler.java"
NestHost: org.apache.cassandra.streaming.ConnectionHandler
InnerClasses:
  IncomingMessageHandler = org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler of org.apache.cassandra.streaming.ConnectionHandler
  abstract MessageHandler = org.apache.cassandra.streaming.ConnectionHandler$MessageHandler of org.apache.cassandra.streaming.ConnectionHandler