public class org.eclipse.jetty.io.ByteArrayEndPoint extends org.eclipse.jetty.io.AbstractEndPoint
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jetty.io.ByteArrayEndPoint
  super_class: org.eclipse.jetty.io.AbstractEndPoint
{
  static final org.eclipse.jetty.util.log.Logger LOG;
    descriptor: Lorg/eclipse/jetty/util/log/Logger;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.net.InetAddress NOIP;
    descriptor: Ljava/net/InetAddress;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.net.InetSocketAddress NOIPPORT;
    descriptor: Ljava/net/InetSocketAddress;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final java.nio.ByteBuffer EOF;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.Runnable _runFillable;
    descriptor: Ljava/lang/Runnable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.eclipse.jetty.util.thread.Locker _locker;
    descriptor: Lorg/eclipse/jetty/util/thread/Locker;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.locks.Condition _hasOutput;
    descriptor: Ljava/util/concurrent/locks/Condition;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Queue<java.nio.ByteBuffer> _inQ;
    descriptor: Ljava/util/Queue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Queue<Ljava/nio/ByteBuffer;>;

  private java.nio.ByteBuffer _out;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  private boolean _growOutput;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=0
         0: .line 47
            ldc Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            invokestatic org.eclipse.jetty.util.log.Log.getLogger:(Ljava/lang/Class;)Lorg/eclipse/jetty/util/log/Logger;
            putstatic org.eclipse.jetty.io.ByteArrayEndPoint.LOG:Lorg/eclipse/jetty/util/log/Logger;
         1: .line 53
            aconst_null
            astore 0 /* noip */
        start local 0 // java.net.InetAddress noip
         2: .line 56
            ldc "0.0.0.0"
            invokestatic java.net.Inet4Address.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
            astore 0 /* noip */
         3: .line 57
            goto 12
         4: .line 58
      StackMap locals: java.net.InetAddress
      StackMap stack: java.net.UnknownHostException
            astore 1 /* e */
        start local 1 // java.net.UnknownHostException e
         5: .line 60
            getstatic org.eclipse.jetty.io.ByteArrayEndPoint.LOG:Lorg/eclipse/jetty/util/log/Logger;
            aload 1 /* e */
            invokeinterface org.eclipse.jetty.util.log.Logger.warn:(Ljava/lang/Throwable;)V
        end local 1 // java.net.UnknownHostException e
         6: .line 64
            aload 0 /* noip */
            putstatic org.eclipse.jetty.io.ByteArrayEndPoint.NOIP:Ljava/net/InetAddress;
         7: .line 65
            new java.net.InetSocketAddress
            dup
            getstatic org.eclipse.jetty.io.ByteArrayEndPoint.NOIP:Ljava/net/InetAddress;
            iconst_0
            invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
            putstatic org.eclipse.jetty.io.ByteArrayEndPoint.NOIPPORT:Ljava/net/InetSocketAddress;
            goto 14
         8: .line 63
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
         9: .line 64
            aload 0 /* noip */
            putstatic org.eclipse.jetty.io.ByteArrayEndPoint.NOIP:Ljava/net/InetAddress;
        10: .line 65
            new java.net.InetSocketAddress
            dup
            getstatic org.eclipse.jetty.io.ByteArrayEndPoint.NOIP:Ljava/net/InetAddress;
            iconst_0
            invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
            putstatic org.eclipse.jetty.io.ByteArrayEndPoint.NOIPPORT:Ljava/net/InetSocketAddress;
        11: .line 66
            aload 2
            athrow
        12: .line 64
      StackMap locals:
      StackMap stack:
            aload 0 /* noip */
            putstatic org.eclipse.jetty.io.ByteArrayEndPoint.NOIP:Ljava/net/InetAddress;
        13: .line 65
            new java.net.InetSocketAddress
            dup
            getstatic org.eclipse.jetty.io.ByteArrayEndPoint.NOIP:Ljava/net/InetAddress;
            iconst_0
            invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
            putstatic org.eclipse.jetty.io.ByteArrayEndPoint.NOIPPORT:Ljava/net/InetSocketAddress;
        end local 0 // java.net.InetAddress noip
        14: .line 69
      StackMap locals:
      StackMap stack:
            iconst_0
            invokestatic org.eclipse.jetty.util.BufferUtil.allocate:(I)Ljava/nio/ByteBuffer;
            putstatic org.eclipse.jetty.io.ByteArrayEndPoint.EOF:Ljava/nio/ByteBuffer;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            2   14     0  noip  Ljava/net/InetAddress;
            5    6     1     e  Ljava/net/UnknownHostException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.net.UnknownHostException
           2     6       8  any

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
         0: .line 91
            aload 0 /* this */
            aconst_null
            lconst_0
            aconst_null
            aconst_null
            invokespecial org.eclipse.jetty.io.ByteArrayEndPoint.<init>:(Lorg/eclipse/jetty/util/thread/Scheduler;JLjava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
         1: .line 92
            return
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;

  public void <init>(byte[], int);
    descriptor: ([BI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
        start local 1 // byte[] input
        start local 2 // int outputSize
         0: .line 100
            aload 0 /* this */
            aconst_null
            lconst_0
            aload 1 /* input */
            ifnull 1
            aload 1 /* input */
            invokestatic org.eclipse.jetty.util.BufferUtil.toBuffer:([B)Ljava/nio/ByteBuffer;
            goto 2
      StackMap locals: uninitialized-this byte[] int
      StackMap stack: uninitialized-this null long
         1: aconst_null
      StackMap locals: uninitialized-this byte[] int
      StackMap stack: uninitialized-this null long java.nio.ByteBuffer
         2: iload 2 /* outputSize */
            invokestatic org.eclipse.jetty.util.BufferUtil.allocate:(I)Ljava/nio/ByteBuffer;
            invokespecial org.eclipse.jetty.io.ByteArrayEndPoint.<init>:(Lorg/eclipse/jetty/util/thread/Scheduler;JLjava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
         3: .line 101
            return
        end local 2 // int outputSize
        end local 1 // byte[] input
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            0    4     1       input  [B
            0    4     2  outputSize  I
    MethodParameters:
            Name  Flags
      input       
      outputSize  

  public void <init>(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
        start local 1 // java.lang.String input
        start local 2 // int outputSize
         0: .line 109
            aload 0 /* this */
            aconst_null
            lconst_0
            aload 1 /* input */
            ifnull 1
            aload 1 /* input */
            invokestatic org.eclipse.jetty.util.BufferUtil.toBuffer:(Ljava/lang/String;)Ljava/nio/ByteBuffer;
            goto 2
      StackMap locals: uninitialized-this java.lang.String int
      StackMap stack: uninitialized-this null long
         1: aconst_null
      StackMap locals: uninitialized-this java.lang.String int
      StackMap stack: uninitialized-this null long java.nio.ByteBuffer
         2: iload 2 /* outputSize */
            invokestatic org.eclipse.jetty.util.BufferUtil.allocate:(I)Ljava/nio/ByteBuffer;
            invokespecial org.eclipse.jetty.io.ByteArrayEndPoint.<init>:(Lorg/eclipse/jetty/util/thread/Scheduler;JLjava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
         3: .line 110
            return
        end local 2 // int outputSize
        end local 1 // java.lang.String input
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            0    4     1       input  Ljava/lang/String;
            0    4     2  outputSize  I
    MethodParameters:
            Name  Flags
      input       
      outputSize  

  public void <init>(org.eclipse.jetty.util.thread.Scheduler, long);
    descriptor: (Lorg/eclipse/jetty/util/thread/Scheduler;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
        start local 1 // org.eclipse.jetty.util.thread.Scheduler scheduler
        start local 2 // long idleTimeoutMs
         0: .line 114
            aload 0 /* this */
            aload 1 /* scheduler */
            lload 2 /* idleTimeoutMs */
            aconst_null
            aconst_null
            invokespecial org.eclipse.jetty.io.ByteArrayEndPoint.<init>:(Lorg/eclipse/jetty/util/thread/Scheduler;JLjava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
         1: .line 115
            return
        end local 2 // long idleTimeoutMs
        end local 1 // org.eclipse.jetty.util.thread.Scheduler scheduler
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            0    2     1      scheduler  Lorg/eclipse/jetty/util/thread/Scheduler;
            0    2     2  idleTimeoutMs  J
    MethodParameters:
               Name  Flags
      scheduler      
      idleTimeoutMs  

  public void <init>(org.eclipse.jetty.util.thread.Scheduler, long, byte[], int);
    descriptor: (Lorg/eclipse/jetty/util/thread/Scheduler;J[BI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
        start local 1 // org.eclipse.jetty.util.thread.Scheduler timer
        start local 2 // long idleTimeoutMs
        start local 4 // byte[] input
        start local 5 // int outputSize
         0: .line 119
            aload 0 /* this */
            aload 1 /* timer */
            lload 2 /* idleTimeoutMs */
            aload 4 /* input */
            ifnull 1
            aload 4 /* input */
            invokestatic org.eclipse.jetty.util.BufferUtil.toBuffer:([B)Ljava/nio/ByteBuffer;
            goto 2
      StackMap locals: uninitialized-this org.eclipse.jetty.util.thread.Scheduler long byte[] int
      StackMap stack: uninitialized-this org.eclipse.jetty.util.thread.Scheduler long
         1: aconst_null
      StackMap locals: uninitialized-this org.eclipse.jetty.util.thread.Scheduler long byte[] int
      StackMap stack: uninitialized-this org.eclipse.jetty.util.thread.Scheduler long java.nio.ByteBuffer
         2: iload 5 /* outputSize */
            invokestatic org.eclipse.jetty.util.BufferUtil.allocate:(I)Ljava/nio/ByteBuffer;
            invokespecial org.eclipse.jetty.io.ByteArrayEndPoint.<init>:(Lorg/eclipse/jetty/util/thread/Scheduler;JLjava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
         3: .line 120
            return
        end local 5 // int outputSize
        end local 4 // byte[] input
        end local 2 // long idleTimeoutMs
        end local 1 // org.eclipse.jetty.util.thread.Scheduler timer
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            0    4     1          timer  Lorg/eclipse/jetty/util/thread/Scheduler;
            0    4     2  idleTimeoutMs  J
            0    4     4          input  [B
            0    4     5     outputSize  I
    MethodParameters:
               Name  Flags
      timer          
      idleTimeoutMs  
      input          
      outputSize     

  public void <init>(org.eclipse.jetty.util.thread.Scheduler, long, java.lang.String, int);
    descriptor: (Lorg/eclipse/jetty/util/thread/Scheduler;JLjava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
        start local 1 // org.eclipse.jetty.util.thread.Scheduler timer
        start local 2 // long idleTimeoutMs
        start local 4 // java.lang.String input
        start local 5 // int outputSize
         0: .line 124
            aload 0 /* this */
            aload 1 /* timer */
            lload 2 /* idleTimeoutMs */
            aload 4 /* input */
            ifnull 1
            aload 4 /* input */
            invokestatic org.eclipse.jetty.util.BufferUtil.toBuffer:(Ljava/lang/String;)Ljava/nio/ByteBuffer;
            goto 2
      StackMap locals: uninitialized-this org.eclipse.jetty.util.thread.Scheduler long java.lang.String int
      StackMap stack: uninitialized-this org.eclipse.jetty.util.thread.Scheduler long
         1: aconst_null
      StackMap locals: uninitialized-this org.eclipse.jetty.util.thread.Scheduler long java.lang.String int
      StackMap stack: uninitialized-this org.eclipse.jetty.util.thread.Scheduler long java.nio.ByteBuffer
         2: iload 5 /* outputSize */
            invokestatic org.eclipse.jetty.util.BufferUtil.allocate:(I)Ljava/nio/ByteBuffer;
            invokespecial org.eclipse.jetty.io.ByteArrayEndPoint.<init>:(Lorg/eclipse/jetty/util/thread/Scheduler;JLjava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
         3: .line 125
            return
        end local 5 // int outputSize
        end local 4 // java.lang.String input
        end local 2 // long idleTimeoutMs
        end local 1 // org.eclipse.jetty.util.thread.Scheduler timer
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            0    4     1          timer  Lorg/eclipse/jetty/util/thread/Scheduler;
            0    4     2  idleTimeoutMs  J
            0    4     4          input  Ljava/lang/String;
            0    4     5     outputSize  I
    MethodParameters:
               Name  Flags
      timer          
      idleTimeoutMs  
      input          
      outputSize     

  public void <init>(org.eclipse.jetty.util.thread.Scheduler, long, java.nio.ByteBuffer, java.nio.ByteBuffer);
    descriptor: (Lorg/eclipse/jetty/util/thread/Scheduler;JLjava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
        start local 1 // org.eclipse.jetty.util.thread.Scheduler timer
        start local 2 // long idleTimeoutMs
        start local 4 // java.nio.ByteBuffer input
        start local 5 // java.nio.ByteBuffer output
         0: .line 129
            aload 0 /* this */
            aload 1 /* timer */
            invokespecial org.eclipse.jetty.io.AbstractEndPoint.<init>:(Lorg/eclipse/jetty/util/thread/Scheduler;)V
         1: .line 71
            aload 0 /* this */
            new org.eclipse.jetty.io.ByteArrayEndPoint$1
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jetty.io.ByteArrayEndPoint$1.<init>:(Lorg/eclipse/jetty/io/ByteArrayEndPoint;)V
            putfield org.eclipse.jetty.io.ByteArrayEndPoint._runFillable:Ljava/lang/Runnable;
         2: .line 80
            aload 0 /* this */
            new org.eclipse.jetty.util.thread.Locker
            dup
            invokespecial org.eclipse.jetty.util.thread.Locker.<init>:()V
            putfield org.eclipse.jetty.io.ByteArrayEndPoint._locker:Lorg/eclipse/jetty/util/thread/Locker;
         3: .line 81
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._locker:Lorg/eclipse/jetty/util/thread/Locker;
            invokevirtual org.eclipse.jetty.util.thread.Locker.newCondition:()Ljava/util/concurrent/locks/Condition;
            putfield org.eclipse.jetty.io.ByteArrayEndPoint._hasOutput:Ljava/util/concurrent/locks/Condition;
         4: .line 82
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            putfield org.eclipse.jetty.io.ByteArrayEndPoint._inQ:Ljava/util/Queue;
         5: .line 130
            aload 4 /* input */
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifeq 7
         6: .line 131
            aload 0 /* this */
            aload 4 /* input */
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.addInput:(Ljava/nio/ByteBuffer;)V
         7: .line 132
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint org.eclipse.jetty.util.thread.Scheduler long java.nio.ByteBuffer java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            aload 5 /* output */
            ifnonnull 8
            sipush 1024
            invokestatic org.eclipse.jetty.util.BufferUtil.allocate:(I)Ljava/nio/ByteBuffer;
            goto 9
      StackMap locals:
      StackMap stack: org.eclipse.jetty.io.ByteArrayEndPoint
         8: aload 5 /* output */
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint org.eclipse.jetty.util.thread.Scheduler long java.nio.ByteBuffer java.nio.ByteBuffer
      StackMap stack: org.eclipse.jetty.io.ByteArrayEndPoint java.nio.ByteBuffer
         9: putfield org.eclipse.jetty.io.ByteArrayEndPoint._out:Ljava/nio/ByteBuffer;
        10: .line 133
            aload 0 /* this */
            lload 2 /* idleTimeoutMs */
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.setIdleTimeout:(J)V
        11: .line 134
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.onOpen:()V
        12: .line 135
            return
        end local 5 // java.nio.ByteBuffer output
        end local 4 // java.nio.ByteBuffer input
        end local 2 // long idleTimeoutMs
        end local 1 // org.eclipse.jetty.util.thread.Scheduler timer
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            0   13     1          timer  Lorg/eclipse/jetty/util/thread/Scheduler;
            0   13     2  idleTimeoutMs  J
            0   13     4          input  Ljava/nio/ByteBuffer;
            0   13     5         output  Ljava/nio/ByteBuffer;
    MethodParameters:
               Name  Flags
      timer          
      idleTimeoutMs  
      input          
      output         

  public void doShutdownOutput();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
         0: .line 140
            aload 0 /* this */
            invokespecial org.eclipse.jetty.io.AbstractEndPoint.doShutdownOutput:()V
         1: .line 141
            aconst_null
            astore 1
            aconst_null
            astore 2
         2: aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._locker:Lorg/eclipse/jetty/util/thread/Locker;
            invokevirtual org.eclipse.jetty.util.thread.Locker.lock:()Lorg/eclipse/jetty/util/thread/Locker$Lock;
            astore 3 /* lock */
        start local 3 // org.eclipse.jetty.util.thread.Locker$Lock lock
         3: .line 143
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._hasOutput:Ljava/util/concurrent/locks/Condition;
            invokeinterface java.util.concurrent.locks.Condition.signalAll:()V
         4: .line 144
            aload 3 /* lock */
            ifnull 10
            aload 3 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
            goto 10
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.Locker$Lock
      StackMap stack: java.lang.Throwable
         5: astore 1
            aload 3 /* lock */
            ifnull 6
            aload 3 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
        end local 3 // org.eclipse.jetty.util.thread.Locker$Lock lock
      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 145
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            3    6     3  lock  Lorg/eclipse/jetty/util/thread/Locker$Lock;
      Exception table:
        from    to  target  type
           3     4       5  any
           2     7       7  any

  public void doClose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
         0: .line 150
            aload 0 /* this */
            invokespecial org.eclipse.jetty.io.AbstractEndPoint.doClose:()V
         1: .line 151
            aconst_null
            astore 1
            aconst_null
            astore 2
         2: aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._locker:Lorg/eclipse/jetty/util/thread/Locker;
            invokevirtual org.eclipse.jetty.util.thread.Locker.lock:()Lorg/eclipse/jetty/util/thread/Locker$Lock;
            astore 3 /* lock */
        start local 3 // org.eclipse.jetty.util.thread.Locker$Lock lock
         3: .line 153
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._hasOutput:Ljava/util/concurrent/locks/Condition;
            invokeinterface java.util.concurrent.locks.Condition.signalAll:()V
         4: .line 154
            aload 3 /* lock */
            ifnull 10
            aload 3 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
            goto 10
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.Locker$Lock
      StackMap stack: java.lang.Throwable
         5: astore 1
            aload 3 /* lock */
            ifnull 6
            aload 3 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
        end local 3 // org.eclipse.jetty.util.thread.Locker$Lock lock
      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 155
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            3    6     3  lock  Lorg/eclipse/jetty/util/thread/Locker$Lock;
      Exception table:
        from    to  target  type
           3     4       5  any
           2     7       7  any

  public java.net.InetSocketAddress getLocalAddress();
    descriptor: ()Ljava/net/InetSocketAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
         0: .line 160
            getstatic org.eclipse.jetty.io.ByteArrayEndPoint.NOIPPORT:Ljava/net/InetSocketAddress;
            areturn
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;

  public java.net.InetSocketAddress getRemoteAddress();
    descriptor: ()Ljava/net/InetSocketAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
         0: .line 166
            getstatic org.eclipse.jetty.io.ByteArrayEndPoint.NOIPPORT:Ljava/net/InetSocketAddress;
            areturn
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;

  protected void onIncompleteFlush();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
         0: .line 173
            return
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;

  protected void execute(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
        start local 1 // java.lang.Runnable task
         0: .line 177
            new java.lang.Thread
            dup
            aload 1 /* task */
            new java.lang.StringBuilder
            dup
            ldc "BAEPoint-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.Object.hashCode:()I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;Ljava/lang/String;)V
            invokevirtual java.lang.Thread.start:()V
         1: .line 178
            return
        end local 1 // java.lang.Runnable task
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            0    2     1  task  Ljava/lang/Runnable;
    MethodParameters:
      Name  Flags
      task  

  protected void needsFillInterest();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
         0: .line 183
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._locker:Lorg/eclipse/jetty/util/thread/Locker;
            invokevirtual org.eclipse.jetty.util.thread.Locker.lock:()Lorg/eclipse/jetty/util/thread/Locker$Lock;
            astore 3 /* lock */
        start local 3 // org.eclipse.jetty.util.thread.Locker$Lock lock
         2: .line 185
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.isOpen:()Z
            ifne 4
         3: .line 186
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         4: .line 188
      StackMap locals: java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.Locker$Lock
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._inQ:Ljava/util/Queue;
            invokeinterface java.util.Queue.peek:()Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            astore 4 /* in */
        start local 4 // java.nio.ByteBuffer in
         5: .line 189
            aload 4 /* in */
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifne 6
            aload 4 /* in */
            invokestatic org.eclipse.jetty.io.ByteArrayEndPoint.isEOF:(Ljava/nio/ByteBuffer;)Z
            ifeq 7
         6: .line 190
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._runFillable:Ljava/lang/Runnable;
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.execute:(Ljava/lang/Runnable;)V
        end local 4 // java.nio.ByteBuffer in
         7: .line 191
      StackMap locals:
      StackMap stack:
            aload 3 /* lock */
            ifnull 13
            aload 3 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
            goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 1
            aload 3 /* lock */
            ifnull 9
            aload 3 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
        end local 3 // org.eclipse.jetty.util.thread.Locker$Lock lock
      StackMap locals:
      StackMap stack:
         9: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 2
            aload 1
            ifnonnull 11
            aload 2
            astore 1
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 1
            aload 2
            if_acmpeq 12
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 1
            athrow
        13: .line 192
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            2    9     3  lock  Lorg/eclipse/jetty/util/thread/Locker$Lock;
            5    7     4    in  Ljava/nio/ByteBuffer;
      Exception table:
        from    to  target  type
           2     7       8  any
           1    10      10  any
    Exceptions:
      throws java.io.IOException

  public void addInputEOF();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
         0: .line 199
            aload 0 /* this */
            aconst_null
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.addInput:(Ljava/nio/ByteBuffer;)V
         1: .line 200
            return
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;

  public void addInput(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
        start local 1 // java.nio.ByteBuffer in
         0: .line 207
            iconst_0
            istore 2 /* fillable */
        start local 2 // boolean fillable
         1: .line 208
            aconst_null
            astore 3
            aconst_null
            astore 4
         2: aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._locker:Lorg/eclipse/jetty/util/thread/Locker;
            invokevirtual org.eclipse.jetty.util.thread.Locker.lock:()Lorg/eclipse/jetty/util/thread/Locker$Lock;
            astore 5 /* lock */
        start local 5 // org.eclipse.jetty.util.thread.Locker$Lock lock
         3: .line 210
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._inQ:Ljava/util/Queue;
            invokeinterface java.util.Queue.peek:()Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            invokestatic org.eclipse.jetty.io.ByteArrayEndPoint.isEOF:(Ljava/nio/ByteBuffer;)Z
            ifeq 5
         4: .line 211
            new org.eclipse.jetty.io.RuntimeIOException
            dup
            new java.io.EOFException
            dup
            invokespecial java.io.EOFException.<init>:()V
            invokespecial org.eclipse.jetty.io.RuntimeIOException.<init>:(Ljava/lang/Throwable;)V
            athrow
         5: .line 212
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint java.nio.ByteBuffer int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.Locker$Lock
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._inQ:Ljava/util/Queue;
            invokeinterface java.util.Queue.isEmpty:()Z
            istore 6 /* wasEmpty */
        start local 6 // boolean wasEmpty
         6: .line 213
            aload 1 /* in */
            ifnonnull 9
         7: .line 215
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._inQ:Ljava/util/Queue;
            getstatic org.eclipse.jetty.io.ByteArrayEndPoint.EOF:Ljava/nio/ByteBuffer;
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
         8: .line 216
            iconst_1
            istore 2 /* fillable */
         9: .line 218
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifeq 12
        10: .line 220
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._inQ:Ljava/util/Queue;
            aload 1 /* in */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
        11: .line 221
            iload 6 /* wasEmpty */
            istore 2 /* fillable */
        end local 6 // boolean wasEmpty
        12: .line 223
      StackMap locals:
      StackMap stack:
            aload 5 /* lock */
            ifnull 18
            aload 5 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
            goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 3
            aload 5 /* lock */
            ifnull 14
            aload 5 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
        end local 5 // org.eclipse.jetty.util.thread.Locker$Lock lock
      StackMap locals:
      StackMap stack:
        14: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 4
            aload 3
            ifnonnull 16
            aload 4
            astore 3
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 3
            aload 4
            if_acmpeq 17
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 3
            athrow
        18: .line 224
      StackMap locals:
      StackMap stack:
            iload 2 /* fillable */
            ifeq 20
        19: .line 225
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._runFillable:Ljava/lang/Runnable;
            invokeinterface java.lang.Runnable.run:()V
        20: .line 226
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean fillable
        end local 1 // java.nio.ByteBuffer in
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0      this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            0   21     1        in  Ljava/nio/ByteBuffer;
            1   21     2  fillable  Z
            3   14     5      lock  Lorg/eclipse/jetty/util/thread/Locker$Lock;
            6   12     6  wasEmpty  Z
      Exception table:
        from    to  target  type
           3    12      13  any
           2    15      15  any
    MethodParameters:
      Name  Flags
      in    

  public void addInput(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
        start local 1 // java.lang.String s
         0: .line 230
            aload 0 /* this */
            aload 1 /* s */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokestatic org.eclipse.jetty.util.BufferUtil.toBuffer:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/nio/ByteBuffer;
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.addInput:(Ljava/nio/ByteBuffer;)V
         1: .line 231
            return
        end local 1 // java.lang.String s
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            0    2     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public void addInput(java.lang.String, java.nio.charset.Charset);
    descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
        start local 1 // java.lang.String s
        start local 2 // java.nio.charset.Charset charset
         0: .line 235
            aload 0 /* this */
            aload 1 /* s */
            aload 2 /* charset */
            invokestatic org.eclipse.jetty.util.BufferUtil.toBuffer:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/nio/ByteBuffer;
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.addInput:(Ljava/nio/ByteBuffer;)V
         1: .line 236
            return
        end local 2 // java.nio.charset.Charset charset
        end local 1 // java.lang.String s
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            0    2     1        s  Ljava/lang/String;
            0    2     2  charset  Ljava/nio/charset/Charset;
    MethodParameters:
         Name  Flags
      s        
      charset  

  public void addInputAndExecute(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
        start local 1 // java.nio.ByteBuffer in
         0: .line 240
            iconst_0
            istore 2 /* fillable */
        start local 2 // boolean fillable
         1: .line 241
            aconst_null
            astore 3
            aconst_null
            astore 4
         2: aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._locker:Lorg/eclipse/jetty/util/thread/Locker;
            invokevirtual org.eclipse.jetty.util.thread.Locker.lock:()Lorg/eclipse/jetty/util/thread/Locker$Lock;
            astore 5 /* lock */
        start local 5 // org.eclipse.jetty.util.thread.Locker$Lock lock
         3: .line 243
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._inQ:Ljava/util/Queue;
            invokeinterface java.util.Queue.peek:()Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            invokestatic org.eclipse.jetty.io.ByteArrayEndPoint.isEOF:(Ljava/nio/ByteBuffer;)Z
            ifeq 5
         4: .line 244
            new org.eclipse.jetty.io.RuntimeIOException
            dup
            new java.io.EOFException
            dup
            invokespecial java.io.EOFException.<init>:()V
            invokespecial org.eclipse.jetty.io.RuntimeIOException.<init>:(Ljava/lang/Throwable;)V
            athrow
         5: .line 245
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint java.nio.ByteBuffer int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.Locker$Lock
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._inQ:Ljava/util/Queue;
            invokeinterface java.util.Queue.isEmpty:()Z
            istore 6 /* wasEmpty */
        start local 6 // boolean wasEmpty
         6: .line 246
            aload 1 /* in */
            ifnonnull 9
         7: .line 248
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._inQ:Ljava/util/Queue;
            getstatic org.eclipse.jetty.io.ByteArrayEndPoint.EOF:Ljava/nio/ByteBuffer;
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
         8: .line 249
            iconst_1
            istore 2 /* fillable */
         9: .line 251
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifeq 12
        10: .line 253
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._inQ:Ljava/util/Queue;
            aload 1 /* in */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
        11: .line 254
            iload 6 /* wasEmpty */
            istore 2 /* fillable */
        end local 6 // boolean wasEmpty
        12: .line 256
      StackMap locals:
      StackMap stack:
            aload 5 /* lock */
            ifnull 18
            aload 5 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
            goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 3
            aload 5 /* lock */
            ifnull 14
            aload 5 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
        end local 5 // org.eclipse.jetty.util.thread.Locker$Lock lock
      StackMap locals:
      StackMap stack:
        14: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 4
            aload 3
            ifnonnull 16
            aload 4
            astore 3
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 3
            aload 4
            if_acmpeq 17
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 3
            athrow
        18: .line 257
      StackMap locals:
      StackMap stack:
            iload 2 /* fillable */
            ifeq 20
        19: .line 258
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._runFillable:Ljava/lang/Runnable;
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.execute:(Ljava/lang/Runnable;)V
        20: .line 259
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean fillable
        end local 1 // java.nio.ByteBuffer in
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0      this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            0   21     1        in  Ljava/nio/ByteBuffer;
            1   21     2  fillable  Z
            3   14     5      lock  Lorg/eclipse/jetty/util/thread/Locker$Lock;
            6   12     6  wasEmpty  Z
      Exception table:
        from    to  target  type
           3    12      13  any
           2    15      15  any
    MethodParameters:
      Name  Flags
      in    

  public java.nio.ByteBuffer getOutput();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
         0: .line 266
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._locker:Lorg/eclipse/jetty/util/thread/Locker;
            invokevirtual org.eclipse.jetty.util.thread.Locker.lock:()Lorg/eclipse/jetty/util/thread/Locker$Lock;
            astore 3 /* lock */
        start local 3 // org.eclipse.jetty.util.thread.Locker$Lock lock
         2: .line 268
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._out:Ljava/nio/ByteBuffer;
         3: .line 269
            aload 3 /* lock */
            ifnull 4
            aload 3 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
         4: .line 268
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.Locker$Lock
      StackMap stack: java.nio.ByteBuffer
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 1
         6: .line 269
            aload 3 /* lock */
            ifnull 7
            aload 3 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
        end local 3 // org.eclipse.jetty.util.thread.Locker$Lock lock
      StackMap locals:
      StackMap stack:
         7: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 2
            aload 1
            ifnonnull 9
            aload 2
            astore 1
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 1
            aload 2
            if_acmpeq 10
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 1
            athrow
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            2    7     3  lock  Lorg/eclipse/jetty/util/thread/Locker$Lock;
      Exception table:
        from    to  target  type
           2     3       5  any
           1     4       8  any
           5     8       8  any

  public java.lang.String getOutputString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
         0: .line 277
            aload 0 /* this */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.getOutputString:(Ljava/nio/charset/Charset;)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;

  public java.lang.String getOutputString(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
        start local 1 // java.nio.charset.Charset charset
         0: .line 286
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._out:Ljava/nio/ByteBuffer;
            aload 1 /* charset */
            invokestatic org.eclipse.jetty.util.BufferUtil.toString:(Ljava/nio/ByteBuffer;Ljava/nio/charset/Charset;)Ljava/lang/String;
            areturn
        end local 1 // java.nio.charset.Charset charset
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            0    1     1  charset  Ljava/nio/charset/Charset;
    MethodParameters:
         Name  Flags
      charset  

  public java.nio.ByteBuffer takeOutput();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
         0: .line 296
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._locker:Lorg/eclipse/jetty/util/thread/Locker;
            invokevirtual org.eclipse.jetty.util.thread.Locker.lock:()Lorg/eclipse/jetty/util/thread/Locker$Lock;
            astore 4 /* lock */
        start local 4 // org.eclipse.jetty.util.thread.Locker$Lock lock
         2: .line 298
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._out:Ljava/nio/ByteBuffer;
            astore 1 /* b */
        start local 1 // java.nio.ByteBuffer b
         3: .line 299
            aload 0 /* this */
            aload 1 /* b */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            invokestatic org.eclipse.jetty.util.BufferUtil.allocate:(I)Ljava/nio/ByteBuffer;
            putfield org.eclipse.jetty.io.ByteArrayEndPoint._out:Ljava/nio/ByteBuffer;
         4: .line 300
            aload 4 /* lock */
            ifnull 10
            aload 4 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
            goto 10
        end local 1 // java.nio.ByteBuffer b
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.Locker$Lock
      StackMap stack: java.lang.Throwable
         5: astore 2
            aload 4 /* lock */
            ifnull 6
            aload 4 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
        end local 4 // org.eclipse.jetty.util.thread.Locker$Lock lock
      StackMap locals:
      StackMap stack:
         6: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 3
            aload 2
            ifnonnull 8
            aload 3
            astore 2
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 2
            aload 3
            if_acmpeq 9
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         9: aload 2
            athrow
        start local 1 // java.nio.ByteBuffer b
        10: .line 301
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.getWriteFlusher:()Lorg/eclipse/jetty/io/WriteFlusher;
            invokevirtual org.eclipse.jetty.io.WriteFlusher.completeWrite:()V
        11: .line 302
            aload 1 /* b */
            areturn
        end local 1 // java.nio.ByteBuffer b
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            3    5     1     b  Ljava/nio/ByteBuffer;
           10   12     1     b  Ljava/nio/ByteBuffer;
            2    6     4  lock  Lorg/eclipse/jetty/util/thread/Locker$Lock;
      Exception table:
        from    to  target  type
           2     4       5  any
           1     7       7  any

  public java.nio.ByteBuffer waitForOutput(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
        start local 1 // long time
        start local 3 // java.util.concurrent.TimeUnit unit
         0: .line 317
            aconst_null
            astore 5
            aconst_null
            astore 6
         1: aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._locker:Lorg/eclipse/jetty/util/thread/Locker;
            invokevirtual org.eclipse.jetty.util.thread.Locker.lock:()Lorg/eclipse/jetty/util/thread/Locker$Lock;
            astore 7 /* lock */
        start local 7 // org.eclipse.jetty.util.thread.Locker$Lock lock
         2: .line 319
            goto 6
         3: .line 321
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint long java.util.concurrent.TimeUnit top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.Locker$Lock
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._hasOutput:Ljava/util/concurrent/locks/Condition;
            lload 1 /* time */
            aload 3 /* unit */
            invokeinterface java.util.concurrent.locks.Condition.await:(JLjava/util/concurrent/TimeUnit;)Z
            ifne 6
         4: .line 326
            aload 7 /* lock */
            ifnull 5
            aload 7 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
         5: .line 322
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         6: .line 319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._out:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.isEmpty:(Ljava/nio/ByteBuffer;)Z
            ifeq 7
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.isOutputShutdown:()Z
            ifeq 3
         7: .line 324
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._out:Ljava/nio/ByteBuffer;
            astore 4 /* b */
        start local 4 // java.nio.ByteBuffer b
         8: .line 325
            aload 0 /* this */
            aload 4 /* b */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            invokestatic org.eclipse.jetty.util.BufferUtil.allocate:(I)Ljava/nio/ByteBuffer;
            putfield org.eclipse.jetty.io.ByteArrayEndPoint._out:Ljava/nio/ByteBuffer;
         9: .line 326
            aload 7 /* lock */
            ifnull 15
            aload 7 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
            goto 15
        end local 4 // java.nio.ByteBuffer b
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 5
            aload 7 /* lock */
            ifnull 11
            aload 7 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
        end local 7 // org.eclipse.jetty.util.thread.Locker$Lock lock
      StackMap locals:
      StackMap stack:
        11: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 6
            aload 5
            ifnonnull 13
            aload 6
            astore 5
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 5
            aload 6
            if_acmpeq 14
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 5
            athrow
        start local 4 // java.nio.ByteBuffer b
        15: .line 327
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint long java.util.concurrent.TimeUnit java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.getWriteFlusher:()Lorg/eclipse/jetty/io/WriteFlusher;
            invokevirtual org.eclipse.jetty.io.WriteFlusher.completeWrite:()V
        16: .line 328
            aload 4 /* b */
            areturn
        end local 4 // java.nio.ByteBuffer b
        end local 3 // java.util.concurrent.TimeUnit unit
        end local 1 // long time
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            0   17     1  time  J
            0   17     3  unit  Ljava/util/concurrent/TimeUnit;
            8   10     4     b  Ljava/nio/ByteBuffer;
           15   17     4     b  Ljava/nio/ByteBuffer;
            2   11     7  lock  Lorg/eclipse/jetty/util/thread/Locker$Lock;
      Exception table:
        from    to  target  type
           2     4      10  any
           6     9      10  any
           1     5      12  any
           6    12      12  any
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
      Name  Flags
      time  
      unit  

  public java.lang.String takeOutputString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
         0: .line 336
            aload 0 /* this */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.takeOutputString:(Ljava/nio/charset/Charset;)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;

  public java.lang.String takeOutputString(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
        start local 1 // java.nio.charset.Charset charset
         0: .line 345
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.takeOutput:()Ljava/nio/ByteBuffer;
            astore 2 /* buffer */
        start local 2 // java.nio.ByteBuffer buffer
         1: .line 346
            aload 2 /* buffer */
            aload 1 /* charset */
            invokestatic org.eclipse.jetty.util.BufferUtil.toString:(Ljava/nio/ByteBuffer;Ljava/nio/charset/Charset;)Ljava/lang/String;
            areturn
        end local 2 // java.nio.ByteBuffer buffer
        end local 1 // java.nio.charset.Charset charset
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            0    2     1  charset  Ljava/nio/charset/Charset;
            1    2     2   buffer  Ljava/nio/ByteBuffer;
    MethodParameters:
         Name  Flags
      charset  

  public void setOutput(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
        start local 1 // java.nio.ByteBuffer out
         0: .line 354
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._locker:Lorg/eclipse/jetty/util/thread/Locker;
            invokevirtual org.eclipse.jetty.util.thread.Locker.lock:()Lorg/eclipse/jetty/util/thread/Locker$Lock;
            astore 4 /* lock */
        start local 4 // org.eclipse.jetty.util.thread.Locker$Lock lock
         2: .line 356
            aload 0 /* this */
            aload 1 /* out */
            putfield org.eclipse.jetty.io.ByteArrayEndPoint._out:Ljava/nio/ByteBuffer;
         3: .line 357
            aload 4 /* lock */
            ifnull 9
            aload 4 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
            goto 9
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint java.nio.ByteBuffer java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.Locker$Lock
      StackMap stack: java.lang.Throwable
         4: astore 2
            aload 4 /* lock */
            ifnull 5
            aload 4 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
        end local 4 // org.eclipse.jetty.util.thread.Locker$Lock lock
      StackMap locals:
      StackMap stack:
         5: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 3
            aload 2
            ifnonnull 7
            aload 3
            astore 2
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 2
            aload 3
            if_acmpeq 8
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         8: aload 2
            athrow
         9: .line 358
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.getWriteFlusher:()Lorg/eclipse/jetty/io/WriteFlusher;
            invokevirtual org.eclipse.jetty.io.WriteFlusher.completeWrite:()V
        10: .line 359
            return
        end local 1 // java.nio.ByteBuffer out
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            0   11     1   out  Ljava/nio/ByteBuffer;
            2    5     4  lock  Lorg/eclipse/jetty/util/thread/Locker$Lock;
      Exception table:
        from    to  target  type
           2     3       4  any
           1     6       6  any
    MethodParameters:
      Name  Flags
      out   

  public boolean hasMore();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
         0: .line 366
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.getOutput:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.position:()I
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;

  public int fill(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
        start local 1 // java.nio.ByteBuffer buffer
         0: .line 375
            iconst_0
            istore 2 /* filled */
        start local 2 // int filled
         1: .line 376
            aconst_null
            astore 3
            aconst_null
            astore 4
         2: aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._locker:Lorg/eclipse/jetty/util/thread/Locker;
            invokevirtual org.eclipse.jetty.util.thread.Locker.lock:()Lorg/eclipse/jetty/util/thread/Locker$Lock;
            astore 5 /* lock */
        start local 5 // org.eclipse.jetty.util.thread.Locker$Lock lock
         3: .line 380
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint java.nio.ByteBuffer int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.Locker$Lock
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.isOpen:()Z
            ifne 5
         4: .line 381
            new org.eclipse.jetty.io.EofException
            dup
            ldc "CLOSED"
            invokespecial org.eclipse.jetty.io.EofException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 383
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.isInputShutdown:()Z
            ifeq 8
         6: .line 405
            aload 5 /* lock */
            ifnull 7
            aload 5 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
         7: .line 384
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
         8: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._inQ:Ljava/util/Queue;
            invokeinterface java.util.Queue.isEmpty:()Z
            ifeq 10
         9: .line 387
            goto 21
        10: .line 389
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._inQ:Ljava/util/Queue;
            invokeinterface java.util.Queue.peek:()Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            astore 6 /* in */
        start local 6 // java.nio.ByteBuffer in
        11: .line 390
            aload 6 /* in */
            invokestatic org.eclipse.jetty.io.ByteArrayEndPoint.isEOF:(Ljava/nio/ByteBuffer;)Z
            ifeq 14
        12: .line 392
            iconst_m1
            istore 2 /* filled */
        13: .line 393
            goto 21
        14: .line 396
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 6 /* in */
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifeq 19
        15: .line 398
            aload 1 /* buffer */
            aload 6 /* in */
            invokestatic org.eclipse.jetty.util.BufferUtil.append:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
            istore 2 /* filled */
        16: .line 399
            aload 6 /* in */
            invokestatic org.eclipse.jetty.util.BufferUtil.isEmpty:(Ljava/nio/ByteBuffer;)Z
            ifeq 21
        17: .line 400
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._inQ:Ljava/util/Queue;
            invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
            pop
        18: .line 401
            goto 21
        19: .line 403
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._inQ:Ljava/util/Queue;
            invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
            pop
        end local 6 // java.nio.ByteBuffer in
        20: .line 378
            goto 3
        21: .line 405
      StackMap locals:
      StackMap stack:
            aload 5 /* lock */
            ifnull 27
            aload 5 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
            goto 27
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 3
            aload 5 /* lock */
            ifnull 23
            aload 5 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
        end local 5 // org.eclipse.jetty.util.thread.Locker$Lock lock
      StackMap locals:
      StackMap stack:
        23: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 4
            aload 3
            ifnonnull 25
            aload 4
            astore 3
            goto 26
      StackMap locals:
      StackMap stack:
        25: aload 3
            aload 4
            if_acmpeq 26
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        26: aload 3
            athrow
        27: .line 407
      StackMap locals:
      StackMap stack:
            iload 2 /* filled */
            ifle 29
        28: .line 408
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.notIdle:()V
            goto 31
        29: .line 409
      StackMap locals:
      StackMap stack:
            iload 2 /* filled */
            ifge 31
        30: .line 410
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.shutdownInput:()V
        31: .line 411
      StackMap locals:
      StackMap stack:
            iload 2 /* filled */
            ireturn
        end local 2 // int filled
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   32     0    this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            0   32     1  buffer  Ljava/nio/ByteBuffer;
            1   32     2  filled  I
            3   23     5    lock  Lorg/eclipse/jetty/util/thread/Locker$Lock;
           11   20     6      in  Ljava/nio/ByteBuffer;
      Exception table:
        from    to  target  type
           3     6      22  any
           8    21      22  any
           2     7      24  any
           8    24      24  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      buffer  

  public boolean flush(java.nio.ByteBuffer[]);
    descriptor: ([Ljava/nio/ByteBuffer;)Z
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=12, args_size=2
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
        start local 1 // java.nio.ByteBuffer[] buffers
         0: .line 420
            iconst_1
            istore 2 /* flushed */
        start local 2 // boolean flushed
         1: .line 421
            aconst_null
            astore 3
            aconst_null
            astore 4
         2: aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._locker:Lorg/eclipse/jetty/util/thread/Locker;
            invokevirtual org.eclipse.jetty.util.thread.Locker.lock:()Lorg/eclipse/jetty/util/thread/Locker$Lock;
            astore 5 /* lock */
        start local 5 // org.eclipse.jetty.util.thread.Locker$Lock lock
         3: .line 423
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.isOpen:()Z
            ifne 5
         4: .line 424
            new java.io.IOException
            dup
            ldc "CLOSED"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 425
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint java.nio.ByteBuffer[] int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.Locker$Lock
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.isOutputShutdown:()Z
            ifeq 7
         6: .line 426
            new java.io.IOException
            dup
            ldc "OSHUT"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 428
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* idle */
        start local 6 // boolean idle
         8: .line 430
            aload 1 /* buffers */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 23
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint java.nio.ByteBuffer[] int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.Locker$Lock int top int int java.nio.ByteBuffer[]
      StackMap stack:
         9: aload 10
            iload 8
            aaload
            astore 7 /* b */
        start local 7 // java.nio.ByteBuffer b
        10: .line 432
            aload 7 /* b */
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifeq 22
        11: .line 434
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._growOutput:Z
            ifeq 17
            aload 7 /* b */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._out:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.space:(Ljava/nio/ByteBuffer;)I
            if_icmple 17
        12: .line 436
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._out:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.compact:(Ljava/nio/ByteBuffer;)Z
            pop
        13: .line 437
            aload 7 /* b */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._out:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.space:(Ljava/nio/ByteBuffer;)I
            if_icmple 17
        14: .line 439
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._out:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.capacity:()I
            aload 7 /* b */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            imul
            iadd
            invokestatic org.eclipse.jetty.util.BufferUtil.allocate:(I)Ljava/nio/ByteBuffer;
            astore 11 /* n */
        start local 11 // java.nio.ByteBuffer n
        15: .line 440
            aload 11 /* n */
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._out:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.append:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
            pop
        16: .line 441
            aload 0 /* this */
            aload 11 /* n */
            putfield org.eclipse.jetty.io.ByteArrayEndPoint._out:Ljava/nio/ByteBuffer;
        end local 11 // java.nio.ByteBuffer n
        17: .line 445
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint java.nio.ByteBuffer[] int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.Locker$Lock int java.nio.ByteBuffer int int java.nio.ByteBuffer[]
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._out:Ljava/nio/ByteBuffer;
            aload 7 /* b */
            invokestatic org.eclipse.jetty.util.BufferUtil.append:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
            ifle 19
        18: .line 446
            iconst_0
            istore 6 /* idle */
        19: .line 448
      StackMap locals:
      StackMap stack:
            aload 7 /* b */
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifeq 22
        20: .line 450
            iconst_0
            istore 2 /* flushed */
        21: .line 451
            goto 24
        end local 7 // java.nio.ByteBuffer b
        22: .line 430
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint java.nio.ByteBuffer[] int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.Locker$Lock int top int int java.nio.ByteBuffer[]
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        23: iload 8
            iload 9
            if_icmplt 9
        24: .line 455
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint java.nio.ByteBuffer[] int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.Locker$Lock int
      StackMap stack:
            iload 6 /* idle */
            ifne 27
        25: .line 457
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ByteArrayEndPoint.notIdle:()V
        26: .line 458
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._hasOutput:Ljava/util/concurrent/locks/Condition;
            invokeinterface java.util.concurrent.locks.Condition.signalAll:()V
        end local 6 // boolean idle
        27: .line 460
      StackMap locals:
      StackMap stack:
            aload 5 /* lock */
            ifnull 33
            aload 5 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
            goto 33
      StackMap locals:
      StackMap stack: java.lang.Throwable
        28: astore 3
            aload 5 /* lock */
            ifnull 29
            aload 5 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
        end local 5 // org.eclipse.jetty.util.thread.Locker$Lock lock
      StackMap locals:
      StackMap stack:
        29: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: astore 4
            aload 3
            ifnonnull 31
            aload 4
            astore 3
            goto 32
      StackMap locals:
      StackMap stack:
        31: aload 3
            aload 4
            if_acmpeq 32
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        32: aload 3
            athrow
        33: .line 461
      StackMap locals:
      StackMap stack:
            iload 2 /* flushed */
            ireturn
        end local 2 // boolean flushed
        end local 1 // java.nio.ByteBuffer[] buffers
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   34     0     this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            0   34     1  buffers  [Ljava/nio/ByteBuffer;
            1   34     2  flushed  Z
            3   29     5     lock  Lorg/eclipse/jetty/util/thread/Locker$Lock;
            8   27     6     idle  Z
           10   22     7        b  Ljava/nio/ByteBuffer;
           15   17    11        n  Ljava/nio/ByteBuffer;
      Exception table:
        from    to  target  type
           3    27      28  any
           2    30      30  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      buffers  

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
         0: .line 470
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._locker:Lorg/eclipse/jetty/util/thread/Locker;
            invokevirtual org.eclipse.jetty.util.thread.Locker.lock:()Lorg/eclipse/jetty/util/thread/Locker$Lock;
            astore 3 /* lock */
        start local 3 // org.eclipse.jetty.util.thread.Locker$Lock lock
         2: .line 472
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._inQ:Ljava/util/Queue;
            invokeinterface java.util.Queue.clear:()V
         3: .line 473
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._hasOutput:Ljava/util/concurrent/locks/Condition;
            invokeinterface java.util.concurrent.locks.Condition.signalAll:()V
         4: .line 474
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._out:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.clear:(Ljava/nio/ByteBuffer;)V
         5: .line 475
            aload 3 /* lock */
            ifnull 11
            aload 3 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
            goto 11
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.Locker$Lock
      StackMap stack: java.lang.Throwable
         6: astore 1
            aload 3 /* lock */
            ifnull 7
            aload 3 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
        end local 3 // org.eclipse.jetty.util.thread.Locker$Lock lock
      StackMap locals:
      StackMap stack:
         7: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 2
            aload 1
            ifnonnull 9
            aload 2
            astore 1
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 1
            aload 2
            if_acmpeq 10
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 1
            athrow
        11: .line 476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.eclipse.jetty.io.AbstractEndPoint.reset:()V
        12: .line 477
            return
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            2    7     3  lock  Lorg/eclipse/jetty/util/thread/Locker$Lock;
      Exception table:
        from    to  target  type
           2     5       6  any
           1     8       8  any

  public java.lang.Object getTransport();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
         0: .line 485
            aconst_null
            areturn
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;

  public boolean isGrowOutput();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
         0: .line 493
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._growOutput:Z
            ireturn
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;

  public void setGrowOutput(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
        start local 1 // boolean growOutput
         0: .line 501
            aload 0 /* this */
            iload 1 /* growOutput */
            putfield org.eclipse.jetty.io.ByteArrayEndPoint._growOutput:Z
         1: .line 502
            return
        end local 1 // boolean growOutput
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            0    2     1  growOutput  Z
    MethodParameters:
            Name  Flags
      growOutput  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
         0: .line 510
            aconst_null
            astore 4
            aconst_null
            astore 5
         1: aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._locker:Lorg/eclipse/jetty/util/thread/Locker;
            invokevirtual org.eclipse.jetty.util.thread.Locker.lock:()Lorg/eclipse/jetty/util/thread/Locker$Lock;
            astore 6 /* lock */
        start local 6 // org.eclipse.jetty.util.thread.Locker$Lock lock
         2: .line 512
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._inQ:Ljava/util/Queue;
            invokeinterface java.util.Queue.size:()I
            istore 1 /* q */
        start local 1 // int q
         3: .line 513
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._inQ:Ljava/util/Queue;
            invokeinterface java.util.Queue.peek:()Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            astore 2 /* b */
        start local 2 // java.nio.ByteBuffer b
         4: .line 514
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ByteArrayEndPoint._out:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.toDetailString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            astore 3 /* o */
        start local 3 // java.lang.String o
         5: .line 515
            aload 6 /* lock */
            ifnull 11
            aload 6 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
            goto 11
        end local 3 // java.lang.String o
        end local 2 // java.nio.ByteBuffer b
        end local 1 // int q
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint top top top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.Locker$Lock
      StackMap stack: java.lang.Throwable
         6: astore 4
            aload 6 /* lock */
            ifnull 7
            aload 6 /* lock */
            invokevirtual org.eclipse.jetty.util.thread.Locker$Lock.close:()V
        end local 6 // org.eclipse.jetty.util.thread.Locker$Lock lock
      StackMap locals:
      StackMap stack:
         7: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 5
            aload 4
            ifnonnull 9
            aload 5
            astore 4
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 4
            aload 5
            if_acmpeq 10
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 4
            athrow
        start local 1 // int q
        start local 2 // java.nio.ByteBuffer b
        start local 3 // java.lang.String o
        11: .line 516
      StackMap locals: org.eclipse.jetty.io.ByteArrayEndPoint int java.nio.ByteBuffer java.lang.String
      StackMap stack:
            ldc "%s[q=%d,q[0]=%s,o=%s]"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokespecial org.eclipse.jetty.io.AbstractEndPoint.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            iload 1 /* q */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 2 /* b */
            aastore
            dup
            iconst_3
            aload 3 /* o */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String o
        end local 2 // java.nio.ByteBuffer b
        end local 1 // int q
        end local 0 // org.eclipse.jetty.io.ByteArrayEndPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/eclipse/jetty/io/ByteArrayEndPoint;
            3    6     1     q  I
           11   12     1     q  I
            4    6     2     b  Ljava/nio/ByteBuffer;
           11   12     2     b  Ljava/nio/ByteBuffer;
            5    6     3     o  Ljava/lang/String;
           11   12     3     o  Ljava/lang/String;
            2    7     6  lock  Lorg/eclipse/jetty/util/thread/Locker$Lock;
      Exception table:
        from    to  target  type
           2     5       6  any
           1     8       8  any

  private static boolean isEOF(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.nio.ByteBuffer buffer
         0: .line 528
            aload 0 /* buffer */
            getstatic org.eclipse.jetty.io.ByteArrayEndPoint.EOF:Ljava/nio/ByteBuffer;
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 1 /* isEof */
        start local 1 // boolean isEof
         3: .line 529
            iload 1 /* isEof */
            ireturn
        end local 1 // boolean isEof
        end local 0 // java.nio.ByteBuffer buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  buffer  Ljava/nio/ByteBuffer;
            3    4     1   isEof  Z
    MethodParameters:
        Name  Flags
      buffer  
}
SourceFile: "ByteArrayEndPoint.java"
NestMembers:
  org.eclipse.jetty.io.ByteArrayEndPoint$1
InnerClasses:
  org.eclipse.jetty.io.ByteArrayEndPoint$1
  public Lock = org.eclipse.jetty.util.thread.Locker$Lock of org.eclipse.jetty.util.thread.Locker