class org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler
  super_class: java.lang.Object
{
  private final java.net.Socket socket;
    descriptor: Ljava/net/Socket;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.InputStream inputStream;
    descriptor: Ljava/io/InputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final org.springframework.boot.devtools.livereload.LiveReloadServer this$0;
    descriptor: Lorg/springframework/boot/devtools/livereload/LiveReloadServer;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.springframework.boot.devtools.livereload.LiveReloadServer, java.net.Socket);
    descriptor: (Lorg/springframework/boot/devtools/livereload/LiveReloadServer;Ljava/net/Socket;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler this
        start local 2 // java.net.Socket socket
         0: .line 251
            aload 0 /* this */
            aload 1
            putfield org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler.this$0:Lorg/springframework/boot/devtools/livereload/LiveReloadServer;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 252
            aload 0 /* this */
            aload 2 /* socket */
            putfield org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler.socket:Ljava/net/Socket;
         2: .line 253
            aload 0 /* this */
            aload 2 /* socket */
            invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
            putfield org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler.inputStream:Ljava/io/InputStream;
         3: .line 254
            return
        end local 2 // java.net.Socket socket
        end local 0 // org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/springframework/boot/devtools/livereload/LiveReloadServer$ConnectionHandler;
            0    4     2  socket  Ljava/net/Socket;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      this$0  final
      socket  

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler this
         0: .line 259
            aload 0 /* this */
            invokevirtual org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler.handle:()V
         1: .line 260
            goto 7
         2: .line 261
      StackMap locals:
      StackMap stack: org.springframework.boot.devtools.livereload.ConnectionClosedException
            pop
         3: .line 262
            getstatic org.springframework.boot.devtools.livereload.LiveReloadServer.logger:Lorg/apache/commons/logging/Log;
            ldc "LiveReload connection closed"
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
            goto 7
         4: .line 264
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* ex */
        start local 1 // java.lang.Exception ex
         5: .line 265
            getstatic org.springframework.boot.devtools.livereload.LiveReloadServer.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 7
         6: .line 266
            getstatic org.springframework.boot.devtools.livereload.LiveReloadServer.logger:Lorg/apache/commons/logging/Log;
            ldc "LiveReload error"
            aload 1 /* ex */
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 1 // java.lang.Exception ex
         7: .line 269
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/springframework/boot/devtools/livereload/LiveReloadServer$ConnectionHandler;
            5    7     1    ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class org.springframework.boot.devtools.livereload.ConnectionClosedException
           0     1       4  Class java.lang.Exception

  private void handle();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler this
         0: .line 273
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            getfield org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
            astore 3 /* outputStream */
        start local 3 // java.io.OutputStream outputStream
         2: .line 274
            aload 0 /* this */
            getfield org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler.this$0:Lorg/springframework/boot/devtools/livereload/LiveReloadServer;
            aload 0 /* this */
            getfield org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler.socket:Ljava/net/Socket;
            aload 0 /* this */
            getfield org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler.inputStream:Ljava/io/InputStream;
            aload 3 /* outputStream */
            invokevirtual org.springframework.boot.devtools.livereload.LiveReloadServer.createConnection:(Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;)Lorg/springframework/boot/devtools/livereload/Connection;
            astore 4 /* connection */
        start local 4 // org.springframework.boot.devtools.livereload.Connection connection
         3: .line 275
            aload 0 /* this */
            aload 4 /* connection */
            invokevirtual org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler.runConnection:(Lorg/springframework/boot/devtools/livereload/Connection;)V
        end local 4 // org.springframework.boot.devtools.livereload.Connection connection
         4: .line 276
            aload 3 /* outputStream */
            ifnull 13
            aload 3 /* outputStream */
            invokevirtual java.io.OutputStream.close:()V
            goto 13
      StackMap locals: org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler java.lang.Throwable java.lang.Throwable java.io.OutputStream
      StackMap stack: java.lang.Throwable
         5: astore 1
            aload 3 /* outputStream */
            ifnull 6
            aload 3 /* outputStream */
            invokevirtual java.io.OutputStream.close:()V
        end local 3 // java.io.OutputStream outputStream
      StackMap locals:
      StackMap stack:
         6: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 2
            aload 1
            ifnonnull 8
            aload 2
            astore 1
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 1
            aload 2
            if_acmpeq 9
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         9: aload 1
            athrow
        10: .line 277
      StackMap locals: org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler
      StackMap stack: java.lang.Throwable
            astore 5
        11: .line 278
            aload 0 /* this */
            getfield org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler.inputStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
        12: .line 279
            aload 5
            athrow
        13: .line 278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler.inputStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
        14: .line 280
            goto 18
        15: .line 281
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        16: .line 282
            aload 0 /* this */
            getfield org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.close:()V
        17: .line 283
            aload 6
            athrow
        18: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.close:()V
        19: .line 284
            return
        end local 0 // org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Lorg/springframework/boot/devtools/livereload/LiveReloadServer$ConnectionHandler;
            2    6     3  outputStream  Ljava/io/OutputStream;
            3    4     4    connection  Lorg/springframework/boot/devtools/livereload/Connection;
      Exception table:
        from    to  target  type
           2     4       5  any
           1     7       7  any
           0    10      10  any
           0    15      15  any
    Exceptions:
      throws java.lang.Exception

  private void runConnection(org.springframework.boot.devtools.livereload.Connection);
    descriptor: (Lorg/springframework/boot/devtools/livereload/Connection;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler this
        start local 1 // org.springframework.boot.devtools.livereload.Connection connection
         0: .line 288
            aload 0 /* this */
            getfield org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler.this$0:Lorg/springframework/boot/devtools/livereload/LiveReloadServer;
            aload 1 /* connection */
            invokevirtual org.springframework.boot.devtools.livereload.LiveReloadServer.addConnection:(Lorg/springframework/boot/devtools/livereload/Connection;)V
         1: .line 289
            aload 1 /* connection */
            invokevirtual org.springframework.boot.devtools.livereload.Connection.run:()V
         2: .line 290
            goto 6
         3: .line 291
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
         4: .line 292
            aload 0 /* this */
            getfield org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler.this$0:Lorg/springframework/boot/devtools/livereload/LiveReloadServer;
            aload 1 /* connection */
            invokevirtual org.springframework.boot.devtools.livereload.LiveReloadServer.removeConnection:(Lorg/springframework/boot/devtools/livereload/Connection;)V
         5: .line 293
            aload 2
            athrow
         6: .line 292
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler.this$0:Lorg/springframework/boot/devtools/livereload/LiveReloadServer;
            aload 1 /* connection */
            invokevirtual org.springframework.boot.devtools.livereload.LiveReloadServer.removeConnection:(Lorg/springframework/boot/devtools/livereload/Connection;)V
         7: .line 294
            return
        end local 1 // org.springframework.boot.devtools.livereload.Connection connection
        end local 0 // org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/springframework/boot/devtools/livereload/LiveReloadServer$ConnectionHandler;
            0    8     1  connection  Lorg/springframework/boot/devtools/livereload/Connection;
      Exception table:
        from    to  target  type
           0     3       3  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
            Name  Flags
      connection  
}
SourceFile: "LiveReloadServer.java"
NestHost: org.springframework.boot.devtools.livereload.LiveReloadServer
InnerClasses:
  private ConnectionHandler = org.springframework.boot.devtools.livereload.LiveReloadServer$ConnectionHandler of org.springframework.boot.devtools.livereload.LiveReloadServer