class ch.qos.logback.core.net.server.RemoteReceiverStreamClient extends ch.qos.logback.core.spi.ContextAwareBase implements ch.qos.logback.core.net.server.RemoteReceiverClient
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: ch.qos.logback.core.net.server.RemoteReceiverStreamClient
  super_class: ch.qos.logback.core.spi.ContextAwareBase
{
  private final java.lang.String clientId;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.net.Socket socket;
    descriptor: Ljava/net/Socket;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private java.util.concurrent.BlockingQueue<java.io.Serializable> queue;
    descriptor: Ljava/util/concurrent/BlockingQueue;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/BlockingQueue<Ljava/io/Serializable;>;

  public void <init>(java.lang.String, java.net.Socket);
    descriptor: (Ljava/lang/String;Ljava/net/Socket;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // ch.qos.logback.core.net.server.RemoteReceiverStreamClient this
        start local 1 // java.lang.String id
        start local 2 // java.net.Socket socket
         0: .line 47
            aload 0 /* this */
            invokespecial ch.qos.logback.core.spi.ContextAwareBase.<init>:()V
         1: .line 48
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "client "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.clientId:Ljava/lang/String;
         2: .line 49
            aload 0 /* this */
            aload 2 /* socket */
            putfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.socket:Ljava/net/Socket;
         3: .line 50
            aload 0 /* this */
            aconst_null
            putfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.outputStream:Ljava/io/OutputStream;
         4: .line 51
            return
        end local 2 // java.net.Socket socket
        end local 1 // java.lang.String id
        end local 0 // ch.qos.logback.core.net.server.RemoteReceiverStreamClient this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lch/qos/logback/core/net/server/RemoteReceiverStreamClient;
            0    5     1      id  Ljava/lang/String;
            0    5     2  socket  Ljava/net/Socket;
    MethodParameters:
        Name  Flags
      id      
      socket  

  void <init>(java.lang.String, java.io.OutputStream);
    descriptor: (Ljava/lang/String;Ljava/io/OutputStream;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // ch.qos.logback.core.net.server.RemoteReceiverStreamClient this
        start local 1 // java.lang.String id
        start local 2 // java.io.OutputStream outputStream
         0: .line 62
            aload 0 /* this */
            invokespecial ch.qos.logback.core.spi.ContextAwareBase.<init>:()V
         1: .line 63
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "client "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.clientId:Ljava/lang/String;
         2: .line 64
            aload 0 /* this */
            aconst_null
            putfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.socket:Ljava/net/Socket;
         3: .line 65
            aload 0 /* this */
            aload 2 /* outputStream */
            putfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.outputStream:Ljava/io/OutputStream;
         4: .line 66
            return
        end local 2 // java.io.OutputStream outputStream
        end local 1 // java.lang.String id
        end local 0 // ch.qos.logback.core.net.server.RemoteReceiverStreamClient this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lch/qos/logback/core/net/server/RemoteReceiverStreamClient;
            0    5     1            id  Ljava/lang/String;
            0    5     2  outputStream  Ljava/io/OutputStream;
    MethodParameters:
              Name  Flags
      id            
      outputStream  

  public void setQueue(java.util.concurrent.BlockingQueue<java.io.Serializable>);
    descriptor: (Ljava/util/concurrent/BlockingQueue;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.server.RemoteReceiverStreamClient this
        start local 1 // java.util.concurrent.BlockingQueue queue
         0: .line 72
            aload 0 /* this */
            aload 1 /* queue */
            putfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.queue:Ljava/util/concurrent/BlockingQueue;
         1: .line 73
            return
        end local 1 // java.util.concurrent.BlockingQueue queue
        end local 0 // ch.qos.logback.core.net.server.RemoteReceiverStreamClient this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lch/qos/logback/core/net/server/RemoteReceiverStreamClient;
            0    2     1  queue  Ljava/util/concurrent/BlockingQueue<Ljava/io/Serializable;>;
    Signature: (Ljava/util/concurrent/BlockingQueue<Ljava/io/Serializable;>;)V
    MethodParameters:
       Name  Flags
      queue  

  public boolean offer(java.io.Serializable);
    descriptor: (Ljava/io/Serializable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.net.server.RemoteReceiverStreamClient this
        start local 1 // java.io.Serializable event
         0: .line 79
            aload 0 /* this */
            getfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.queue:Ljava/util/concurrent/BlockingQueue;
            ifnonnull 2
         1: .line 80
            new java.lang.IllegalStateException
            dup
            ldc "client has no event queue"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.queue:Ljava/util/concurrent/BlockingQueue;
            aload 1 /* event */
            invokeinterface java.util.concurrent.BlockingQueue.offer:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.io.Serializable event
        end local 0 // ch.qos.logback.core.net.server.RemoteReceiverStreamClient this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lch/qos/logback/core/net/server/RemoteReceiverStreamClient;
            0    3     1  event  Ljava/io/Serializable;
    MethodParameters:
       Name  Flags
      event  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.server.RemoteReceiverStreamClient this
         0: .line 89
            aload 0 /* this */
            getfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.socket:Ljava/net/Socket;
            ifnonnull 2
         1: .line 90
            return
         2: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.socket:Ljava/net/Socket;
            invokestatic ch.qos.logback.core.util.CloseUtil.closeQuietly:(Ljava/net/Socket;)V
         3: .line 92
            return
        end local 0 // ch.qos.logback.core.net.server.RemoteReceiverStreamClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lch/qos/logback/core/net/server/RemoteReceiverStreamClient;

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // ch.qos.logback.core.net.server.RemoteReceiverStreamClient this
         0: .line 98
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.clientId:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "connected"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual ch.qos.logback.core.net.server.RemoteReceiverStreamClient.addInfo:(Ljava/lang/String;)V
         1: .line 100
            aconst_null
            astore 1 /* oos */
        start local 1 // java.io.ObjectOutputStream oos
         2: .line 102
            iconst_0
            istore 2 /* counter */
        start local 2 // int counter
         3: .line 103
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.net.server.RemoteReceiverStreamClient.createObjectOutputStream:()Ljava/io/ObjectOutputStream;
            astore 1 /* oos */
         4: .line 104
            goto 14
         5: .line 106
      StackMap locals: java.io.ObjectOutputStream int
      StackMap stack:
            aload 0 /* this */
            getfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.queue:Ljava/util/concurrent/BlockingQueue;
            invokeinterface java.util.concurrent.BlockingQueue.take:()Ljava/lang/Object;
            checkcast java.io.Serializable
            astore 3 /* event */
        start local 3 // java.io.Serializable event
         6: .line 107
            aload 1 /* oos */
            aload 3 /* event */
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         7: .line 108
            aload 1 /* oos */
            invokevirtual java.io.ObjectOutputStream.flush:()V
         8: .line 109
            iinc 2 /* counter */ 1
            iload 2 /* counter */
            bipush 70
            if_icmplt 14
         9: .line 112
            iconst_0
            istore 2 /* counter */
        10: .line 113
            aload 1 /* oos */
            invokevirtual java.io.ObjectOutputStream.reset:()V
        end local 3 // java.io.Serializable event
        11: .line 115
            goto 14
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        12: pop
        13: .line 116
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        14: .line 104
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.isInterrupted:()Z
            ifeq 5
        end local 2 // int counter
        15: .line 119
            goto 40
      StackMap locals: ch.qos.logback.core.net.server.RemoteReceiverStreamClient java.io.ObjectOutputStream
      StackMap stack: java.net.SocketException
        16: astore 2 /* ex */
        start local 2 // java.net.SocketException ex
        17: .line 120
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.clientId:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual ch.qos.logback.core.net.server.RemoteReceiverStreamClient.addInfo:(Ljava/lang/String;)V
        end local 2 // java.net.SocketException ex
        18: .line 126
            aload 1 /* oos */
            ifnull 20
        19: .line 127
            aload 1 /* oos */
            invokestatic ch.qos.logback.core.util.CloseUtil.closeQuietly:(Ljava/io/Closeable;)V
        20: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.net.server.RemoteReceiverStreamClient.close:()V
        21: .line 130
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.clientId:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "connection closed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual ch.qos.logback.core.net.server.RemoteReceiverStreamClient.addInfo:(Ljava/lang/String;)V
            goto 44
        22: .line 121
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* ex */
        start local 2 // java.io.IOException ex
        23: .line 122
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.clientId:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual ch.qos.logback.core.net.server.RemoteReceiverStreamClient.addError:(Ljava/lang/String;)V
        end local 2 // java.io.IOException ex
        24: .line 126
            aload 1 /* oos */
            ifnull 26
        25: .line 127
            aload 1 /* oos */
            invokestatic ch.qos.logback.core.util.CloseUtil.closeQuietly:(Ljava/io/Closeable;)V
        26: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.net.server.RemoteReceiverStreamClient.close:()V
        27: .line 130
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.clientId:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "connection closed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual ch.qos.logback.core.net.server.RemoteReceiverStreamClient.addInfo:(Ljava/lang/String;)V
            goto 44
        28: .line 123
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 2 /* ex */
        start local 2 // java.lang.RuntimeException ex
        29: .line 124
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.clientId:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual ch.qos.logback.core.net.server.RemoteReceiverStreamClient.addError:(Ljava/lang/String;)V
        end local 2 // java.lang.RuntimeException ex
        30: .line 126
            aload 1 /* oos */
            ifnull 32
        31: .line 127
            aload 1 /* oos */
            invokestatic ch.qos.logback.core.util.CloseUtil.closeQuietly:(Ljava/io/Closeable;)V
        32: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.net.server.RemoteReceiverStreamClient.close:()V
        33: .line 130
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.clientId:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "connection closed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual ch.qos.logback.core.net.server.RemoteReceiverStreamClient.addInfo:(Ljava/lang/String;)V
            goto 44
        34: .line 125
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        35: .line 126
            aload 1 /* oos */
            ifnull 37
        36: .line 127
            aload 1 /* oos */
            invokestatic ch.qos.logback.core.util.CloseUtil.closeQuietly:(Ljava/io/Closeable;)V
        37: .line 129
      StackMap locals: ch.qos.logback.core.net.server.RemoteReceiverStreamClient java.io.ObjectOutputStream top top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.net.server.RemoteReceiverStreamClient.close:()V
        38: .line 130
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.clientId:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "connection closed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual ch.qos.logback.core.net.server.RemoteReceiverStreamClient.addInfo:(Ljava/lang/String;)V
        39: .line 131
            aload 4
            athrow
        40: .line 126
      StackMap locals: ch.qos.logback.core.net.server.RemoteReceiverStreamClient java.io.ObjectOutputStream
      StackMap stack:
            aload 1 /* oos */
            ifnull 42
        41: .line 127
            aload 1 /* oos */
            invokestatic ch.qos.logback.core.util.CloseUtil.closeQuietly:(Ljava/io/Closeable;)V
        42: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual ch.qos.logback.core.net.server.RemoteReceiverStreamClient.close:()V
        43: .line 130
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.clientId:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "connection closed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual ch.qos.logback.core.net.server.RemoteReceiverStreamClient.addInfo:(Ljava/lang/String;)V
        44: .line 132
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.ObjectOutputStream oos
        end local 0 // ch.qos.logback.core.net.server.RemoteReceiverStreamClient this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   45     0     this  Lch/qos/logback/core/net/server/RemoteReceiverStreamClient;
            2   45     1      oos  Ljava/io/ObjectOutputStream;
            3   15     2  counter  I
            6   11     3    event  Ljava/io/Serializable;
           17   18     2       ex  Ljava/net/SocketException;
           23   24     2       ex  Ljava/io/IOException;
           29   30     2       ex  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           5    11      12  Class java.lang.InterruptedException
           2    15      16  Class java.net.SocketException
           2    15      22  Class java.io.IOException
           2    15      28  Class java.lang.RuntimeException
           2    18      34  any
          22    24      34  any
          28    30      34  any

  private java.io.ObjectOutputStream createObjectOutputStream();
    descriptor: ()Ljava/io/ObjectOutputStream;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.net.server.RemoteReceiverStreamClient this
         0: .line 135
            aload 0 /* this */
            getfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.socket:Ljava/net/Socket;
            ifnonnull 2
         1: .line 136
            new java.io.ObjectOutputStream
            dup
            aload 0 /* this */
            getfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.outputStream:Ljava/io/OutputStream;
            invokespecial java.io.ObjectOutputStream.<init>:(Ljava/io/OutputStream;)V
            areturn
         2: .line 138
      StackMap locals:
      StackMap stack:
            new java.io.ObjectOutputStream
            dup
            aload 0 /* this */
            getfield ch.qos.logback.core.net.server.RemoteReceiverStreamClient.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
            invokespecial java.io.ObjectOutputStream.<init>:(Ljava/io/OutputStream;)V
            areturn
        end local 0 // ch.qos.logback.core.net.server.RemoteReceiverStreamClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lch/qos/logback/core/net/server/RemoteReceiverStreamClient;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "RemoteReceiverStreamClient.java"