public abstract class io.undertow.conduits.AbstractFixedLengthStreamSinkConduit extends org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit
  super_class: org.xnio.conduits.AbstractStreamSinkConduit
{
  private int config;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private long state;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

  private static final int CONF_FLAG_CONFIGURABLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int CONF_FLAG_PASS_CLOSE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final long FLAG_CLOSE_REQUESTED;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -9223372036854775808

  private static final long FLAG_CLOSE_COMPLETE;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4611686018427387904

  private static final long FLAG_FINISHED_CALLED;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2305843009213693952

  private static final long MASK_COUNT;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 59
            iconst_0
            bipush 60
            invokestatic org.xnio.Bits.longBitMask:(II)J
            putstatic io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.MASK_COUNT:J
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.xnio.conduits.StreamSinkConduit, long, boolean, boolean);
    descriptor: (Lorg/xnio/conduits/StreamSinkConduit;JZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
        start local 1 // org.xnio.conduits.StreamSinkConduit next
        start local 2 // long contentLength
        start local 4 // boolean configurable
        start local 5 // boolean propagateClose
         0: .line 70
            aload 0 /* this */
            aload 1 /* next */
            invokespecial org.xnio.conduits.AbstractStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
         1: .line 51
            aload 0 /* this */
            iconst_0
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.broken:Z
         2: .line 71
            lload 2 /* contentLength */
            lconst_0
            lcmp
            ifge 4
         3: .line 72
            new java.lang.IllegalArgumentException
            dup
            ldc "Content length must be greater than or equal to zero"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 73
      StackMap locals: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit org.xnio.conduits.StreamSinkConduit long int int
      StackMap stack:
            lload 2 /* contentLength */
            getstatic io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.MASK_COUNT:J
            lcmp
            ifle 6
         5: .line 74
            new java.lang.IllegalArgumentException
            dup
            ldc "Content length is too long"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 76
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* configurable */
            ifeq 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit
         7: iconst_0
      StackMap locals: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit org.xnio.conduits.StreamSinkConduit long int int
      StackMap stack: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit int
         8: iload 5 /* propagateClose */
            ifeq 9
            iconst_2
            goto 10
      StackMap locals: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit org.xnio.conduits.StreamSinkConduit long int int
      StackMap stack: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit int
         9: iconst_0
      StackMap locals: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit org.xnio.conduits.StreamSinkConduit long int int
      StackMap stack: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit int int
        10: ior
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.config:I
        11: .line 77
            aload 0 /* this */
            lload 2 /* contentLength */
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
        12: .line 78
            return
        end local 5 // boolean propagateClose
        end local 4 // boolean configurable
        end local 2 // long contentLength
        end local 1 // org.xnio.conduits.StreamSinkConduit next
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;
            0   13     1            next  Lorg/xnio/conduits/StreamSinkConduit;
            0   13     2   contentLength  J
            0   13     4    configurable  Z
            0   13     5  propagateClose  Z
    MethodParameters:
                Name  Flags
      next            final
      contentLength   final
      configurable    final
      propagateClose  final

  protected void reset(long, boolean);
    descriptor: (JZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
        start local 1 // long contentLength
        start local 3 // boolean propagateClose
         0: .line 81
            aload 0 /* this */
            lload 1 /* contentLength */
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
         1: .line 82
            iload 3 /* propagateClose */
            ifeq 4
         2: .line 83
            aload 0 /* this */
            dup
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.config:I
            iconst_2
            ior
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.config:I
         3: .line 84
            goto 5
         4: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.config:I
            bipush -3
            iand
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.config:I
         5: .line 87
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean propagateClose
        end local 1 // long contentLength
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;
            0    6     1   contentLength  J
            0    6     3  propagateClose  Z
    MethodParameters:
                Name  Flags
      contentLength   
      propagateClose  

  public int write(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
        start local 1 // java.nio.ByteBuffer src
         0: .line 90
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
            lstore 2 /* val */
        start local 2 // long val
         1: .line 91
            lload 2 /* val */
            getstatic io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.MASK_COUNT:J
            land
            lstore 4 /* remaining */
        start local 4 // long remaining
         2: .line 92
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 4
         3: .line 93
            iconst_0
            ireturn
         4: .line 95
      StackMap locals: long long
      StackMap stack:
            lload 2 /* val */
            ldc -9223372036854775808
            invokestatic org.xnio.Bits.allAreSet:(JJ)Z
            ifeq 6
         5: .line 96
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         6: .line 98
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 6 /* oldLimit */
        start local 6 // int oldLimit
         7: .line 99
            lload 4 /* remaining */
            lconst_0
            lcmp
            ifne 9
         8: .line 100
            new org.xnio.channels.FixedLengthOverflowException
            dup
            invokespecial org.xnio.channels.FixedLengthOverflowException.<init>:()V
            athrow
         9: .line 101
      StackMap locals: int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            i2l
            lload 4 /* remaining */
            lcmp
            ifle 11
        10: .line 102
            aload 1 /* src */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            i2l
            lload 4 /* remaining */
            ladd
            l2i
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        11: .line 104
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* res */
        start local 7 // int res
        12: .line 106
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 1 /* src */
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
            dup
            istore 7 /* res */
            istore 10
        13: .line 111
            aload 1 /* src */
            iload 6 /* oldLimit */
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        14: .line 112
            aload 0 /* this */
            lload 2 /* val */
            iload 7 /* res */
            i2l
            invokevirtual io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.exitWrite:(JJ)V
        15: .line 106
            iload 10
            ireturn
        16: .line 107
      StackMap locals: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit java.nio.ByteBuffer long long int int
      StackMap stack: java.lang.Throwable
            astore 8 /* e */
        start local 8 // java.lang.Throwable e
        17: .line 108
            aload 0 /* this */
            iconst_1
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.broken:Z
        18: .line 109
            aload 8 /* e */
            athrow
        end local 8 // java.lang.Throwable e
        19: .line 110
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        20: .line 111
            aload 1 /* src */
            iload 6 /* oldLimit */
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        21: .line 112
            aload 0 /* this */
            lload 2 /* val */
            iload 7 /* res */
            i2l
            invokevirtual io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.exitWrite:(JJ)V
        22: .line 113
            aload 9
            athrow
        end local 7 // int res
        end local 6 // int oldLimit
        end local 4 // long remaining
        end local 2 // long val
        end local 1 // java.nio.ByteBuffer src
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;
            0   23     1        src  Ljava/nio/ByteBuffer;
            1   23     2        val  J
            2   23     4  remaining  J
            7   23     6   oldLimit  I
           12   23     7        res  I
           17   19     8          e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          12    13      16  Class java.io.IOException
          12    13      16  Class java.lang.RuntimeException
          12    13      16  Class java.lang.Error
          12    13      19  any
          16    19      19  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      src   final

  public long write(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=18, args_size=4
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
        start local 1 // java.nio.ByteBuffer[] srcs
        start local 2 // int offset
        start local 3 // int length
         0: .line 117
            iload 3 /* length */
            ifne 2
         1: .line 118
            lconst_0
            lreturn
         2: .line 119
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            iconst_1
            if_icmpne 4
         3: .line 120
            aload 0 /* this */
            aload 1 /* srcs */
            iload 2 /* offset */
            aaload
            invokevirtual io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
            i2l
            lreturn
         4: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
            lstore 4 /* val */
        start local 4 // long val
         5: .line 123
            lload 4 /* val */
            getstatic io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.MASK_COUNT:J
            land
            lstore 6 /* remaining */
        start local 6 // long remaining
         6: .line 124
            lload 4 /* val */
            ldc -9223372036854775808
            invokestatic org.xnio.Bits.allAreSet:(JJ)Z
            ifeq 8
         7: .line 125
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         8: .line 127
      StackMap locals: long long
      StackMap stack:
            aload 1 /* srcs */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic org.xnio.Buffers.remaining:([Ljava/nio/Buffer;II)J
            lstore 8 /* toWrite */
        start local 8 // long toWrite
         9: .line 128
            lload 6 /* remaining */
            lconst_0
            lcmp
            ifne 11
        10: .line 129
            new org.xnio.channels.FixedLengthOverflowException
            dup
            invokespecial org.xnio.channels.FixedLengthOverflowException.<init>:()V
            athrow
        11: .line 131
      StackMap locals: long
      StackMap stack:
            aconst_null
            astore 10 /* limits */
        start local 10 // int[] limits
        12: .line 132
            lload 8 /* toWrite */
            lload 6 /* remaining */
            lcmp
            ifle 26
        13: .line 133
            iload 3 /* length */
            newarray 10
            astore 10 /* limits */
        14: .line 134
            lload 6 /* remaining */
            lstore 11 /* r */
        start local 11 // long r
        15: .line 135
            iload 2 /* offset */
            istore 13 /* i */
        start local 13 // int i
        16: goto 25
        17: .line 136
      StackMap locals: int[] long int
      StackMap stack:
            aload 10 /* limits */
            iload 13 /* i */
            iload 2 /* offset */
            isub
            aload 1 /* srcs */
            iload 13 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.limit:()I
            iastore
        18: .line 137
            aload 1 /* srcs */
            iload 13 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 14 /* br */
        start local 14 // int br
        19: .line 138
            iload 14 /* br */
            i2l
            lload 11 /* r */
            lcmp
            ifge 22
        20: .line 139
            lload 11 /* r */
            iload 14 /* br */
            i2l
            lsub
            lstore 11 /* r */
        21: .line 140
            goto 24
        22: .line 141
      StackMap locals: int
      StackMap stack:
            aload 1 /* srcs */
            iload 13 /* i */
            aaload
            aload 1 /* srcs */
            iload 13 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.position:()I
            i2l
            lload 11 /* r */
            ladd
            l2i
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        23: .line 142
            lconst_0
            lstore 11 /* r */
        end local 14 // int br
        24: .line 135
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 13 /* i */
            iload 2 /* offset */
            iload 3 /* length */
            iadd
            if_icmplt 17
        end local 13 // int i
        end local 11 // long r
        26: .line 146
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 11 /* res */
        start local 11 // long res
        27: .line 148
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 1 /* srcs */
            iload 2 /* offset */
            iload 3 /* length */
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
            dup2
            lstore 11 /* res */
            lstore 15
        28: .line 153
            aload 10 /* limits */
            ifnull 34
        29: .line 154
            iload 2 /* offset */
            istore 17 /* i */
        start local 17 // int i
        30: goto 33
        31: .line 155
      StackMap locals: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit java.nio.ByteBuffer[] int int long long long int[] long top top long int
      StackMap stack:
            aload 1 /* srcs */
            iload 17 /* i */
            aaload
            aload 10 /* limits */
            iload 17 /* i */
            iload 2 /* offset */
            isub
            iaload
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        32: .line 154
            iinc 17 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 17 /* i */
            iload 2 /* offset */
            iload 3 /* length */
            iadd
            if_icmplt 31
        end local 17 // int i
        34: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 4 /* val */
            lload 11 /* res */
            invokevirtual io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.exitWrite:(JJ)V
        35: .line 148
            lload 15
            lreturn
        36: .line 149
      StackMap locals: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit java.nio.ByteBuffer[] int int long long long int[] long
      StackMap stack: java.lang.Throwable
            astore 13 /* e */
        start local 13 // java.lang.Throwable e
        37: .line 150
            aload 0 /* this */
            iconst_1
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.broken:Z
        38: .line 151
            aload 13 /* e */
            athrow
        end local 13 // java.lang.Throwable e
        39: .line 152
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 14
        40: .line 153
            aload 10 /* limits */
            ifnull 46
        41: .line 154
            iload 2 /* offset */
            istore 17 /* i */
        start local 17 // int i
        42: goto 45
        43: .line 155
      StackMap locals: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit java.nio.ByteBuffer[] int int long long long int[] long top java.lang.Throwable top top int
      StackMap stack:
            aload 1 /* srcs */
            iload 17 /* i */
            aaload
            aload 10 /* limits */
            iload 17 /* i */
            iload 2 /* offset */
            isub
            iaload
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        44: .line 154
            iinc 17 /* i */ 1
      StackMap locals:
      StackMap stack:
        45: iload 17 /* i */
            iload 2 /* offset */
            iload 3 /* length */
            iadd
            if_icmplt 43
        end local 17 // int i
        46: .line 158
      StackMap locals: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit java.nio.ByteBuffer[] int int long long long int[] long top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            lload 4 /* val */
            lload 11 /* res */
            invokevirtual io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.exitWrite:(JJ)V
        47: .line 159
            aload 14
            athrow
        end local 11 // long res
        end local 10 // int[] limits
        end local 8 // long toWrite
        end local 6 // long remaining
        end local 4 // long val
        end local 3 // int length
        end local 2 // int offset
        end local 1 // java.nio.ByteBuffer[] srcs
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   48     0       this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;
            0   48     1       srcs  [Ljava/nio/ByteBuffer;
            0   48     2     offset  I
            0   48     3     length  I
            5   48     4        val  J
            6   48     6  remaining  J
            9   48     8    toWrite  J
           12   48    10     limits  [I
           15   26    11          r  J
           16   26    13          i  I
           19   24    14         br  I
           27   48    11        res  J
           37   39    13          e  Ljava/lang/Throwable;
           30   34    17          i  I
           42   46    17          i  I
      Exception table:
        from    to  target  type
          27    28      36  Class java.io.IOException
          27    28      36  Class java.lang.RuntimeException
          27    28      36  Class java.lang.Error
          27    28      39  any
          36    39      39  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      srcs    final
      offset  final
      length  final

  public long writeFinal(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
        start local 1 // java.nio.ByteBuffer[] srcs
        start local 2 // int offset
        start local 3 // int length
         0: .line 165
            aload 0 /* this */
            aload 1 /* srcs */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic org.xnio.conduits.Conduits.writeFinalBasic:(Lorg/xnio/conduits/StreamSinkConduit;[Ljava/nio/ByteBuffer;II)J
         1: lreturn
         2: .line 166
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4 /* e */
        start local 4 // java.lang.Throwable e
         3: .line 167
            aload 0 /* this */
            iconst_1
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.broken:Z
         4: .line 168
            aload 4 /* e */
            athrow
        end local 4 // java.lang.Throwable e
        end local 3 // int length
        end local 2 // int offset
        end local 1 // java.nio.ByteBuffer[] srcs
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;
            0    5     1    srcs  [Ljava/nio/ByteBuffer;
            0    5     2  offset  I
            0    5     3  length  I
            3    5     4       e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
           0     1       2  Class java.lang.RuntimeException
           0     1       2  Class java.lang.Error
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      srcs    
      offset  
      length  

  public int writeFinal(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
        start local 1 // java.nio.ByteBuffer src
         0: .line 175
            aload 0 /* this */
            aload 1 /* src */
            invokestatic org.xnio.conduits.Conduits.writeFinalBasic:(Lorg/xnio/conduits/StreamSinkConduit;Ljava/nio/ByteBuffer;)I
         1: ireturn
         2: .line 176
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* e */
        start local 2 // java.lang.Throwable e
         3: .line 177
            aload 0 /* this */
            iconst_1
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.broken:Z
         4: .line 178
            aload 2 /* e */
            athrow
        end local 2 // java.lang.Throwable e
        end local 1 // java.nio.ByteBuffer src
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;
            0    5     1   src  Ljava/nio/ByteBuffer;
            3    5     2     e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
           0     1       2  Class java.lang.RuntimeException
           0     1       2  Class java.lang.Error
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      src   

  public long transferFrom(java.nio.channels.FileChannel, long, long);
    descriptor: (Ljava/nio/channels/FileChannel;JJ)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=14, args_size=4
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
        start local 1 // java.nio.channels.FileChannel src
        start local 2 // long position
        start local 4 // long count
         0: .line 183
            lload 4 /* count */
            lconst_0
            lcmp
            ifne 1
            lconst_0
            lreturn
         1: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
            lstore 6 /* val */
        start local 6 // long val
         2: .line 185
            lload 6 /* val */
            ldc -9223372036854775808
            invokestatic org.xnio.Bits.allAreSet:(JJ)Z
            ifeq 4
         3: .line 186
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         4: .line 188
      StackMap locals: long
      StackMap stack:
            lload 6 /* val */
            getstatic io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.MASK_COUNT:J
            invokestatic org.xnio.Bits.allAreClear:(JJ)Z
            ifeq 6
         5: .line 189
            new org.xnio.channels.FixedLengthOverflowException
            dup
            invokespecial org.xnio.channels.FixedLengthOverflowException.<init>:()V
            athrow
         6: .line 191
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 8 /* res */
        start local 8 // long res
         7: .line 193
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 1 /* src */
            lload 2 /* position */
            lload 4 /* count */
            lload 6 /* val */
            getstatic io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.MASK_COUNT:J
            land
            invokestatic java.lang.Math.min:(JJ)J
            invokeinterface org.xnio.conduits.StreamSinkConduit.transferFrom:(Ljava/nio/channels/FileChannel;JJ)J
            dup2
            lstore 8 /* res */
            lstore 12
         8: .line 198
            aload 0 /* this */
            lload 6 /* val */
            lload 8 /* res */
            invokevirtual io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.exitWrite:(JJ)V
         9: .line 193
            lload 12
            lreturn
        10: .line 194
      StackMap locals: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit java.nio.channels.FileChannel long long long long
      StackMap stack: java.lang.Throwable
            astore 10 /* e */
        start local 10 // java.lang.Throwable e
        11: .line 195
            aload 0 /* this */
            iconst_1
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.broken:Z
        12: .line 196
            aload 10 /* e */
            athrow
        end local 10 // java.lang.Throwable e
        13: .line 197
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        14: .line 198
            aload 0 /* this */
            lload 6 /* val */
            lload 8 /* res */
            invokevirtual io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.exitWrite:(JJ)V
        15: .line 199
            aload 11
            athrow
        end local 8 // long res
        end local 6 // long val
        end local 4 // long count
        end local 2 // long position
        end local 1 // java.nio.channels.FileChannel src
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;
            0   16     1       src  Ljava/nio/channels/FileChannel;
            0   16     2  position  J
            0   16     4     count  J
            2   16     6       val  J
            7   16     8       res  J
           11   13    10         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7     8      10  Class java.io.IOException
           7     8      10  Class java.lang.RuntimeException
           7     8      10  Class java.lang.Error
           7     8      13  any
          10    13      13  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      src       final
      position  final
      count     final

  public long transferFrom(org.xnio.channels.StreamSourceChannel, long, java.nio.ByteBuffer);
    descriptor: (Lorg/xnio/channels/StreamSourceChannel;JLjava/nio/ByteBuffer;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=13, args_size=4
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
        start local 1 // org.xnio.channels.StreamSourceChannel source
        start local 2 // long count
        start local 4 // java.nio.ByteBuffer throughBuffer
         0: .line 203
            lload 2 /* count */
            lconst_0
            lcmp
            ifne 1
            lconst_0
            lreturn
         1: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
            lstore 5 /* val */
        start local 5 // long val
         2: .line 205
            lload 5 /* val */
            ldc -9223372036854775808
            invokestatic org.xnio.Bits.allAreSet:(JJ)Z
            ifeq 4
         3: .line 206
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         4: .line 208
      StackMap locals: long
      StackMap stack:
            lload 5 /* val */
            getstatic io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.MASK_COUNT:J
            invokestatic org.xnio.Bits.allAreClear:(JJ)Z
            ifeq 6
         5: .line 209
            new org.xnio.channels.FixedLengthOverflowException
            dup
            invokespecial org.xnio.channels.FixedLengthOverflowException.<init>:()V
            athrow
         6: .line 211
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 7 /* res */
        start local 7 // long res
         7: .line 213
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 1 /* source */
            lload 2 /* count */
            lload 5 /* val */
            getstatic io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.MASK_COUNT:J
            land
            invokestatic java.lang.Math.min:(JJ)J
            aload 4 /* throughBuffer */
            invokeinterface org.xnio.conduits.StreamSinkConduit.transferFrom:(Lorg/xnio/channels/StreamSourceChannel;JLjava/nio/ByteBuffer;)J
            dup2
            lstore 7 /* res */
            lstore 11
         8: .line 218
            aload 0 /* this */
            lload 5 /* val */
            lload 7 /* res */
            invokevirtual io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.exitWrite:(JJ)V
         9: .line 213
            lload 11
            lreturn
        10: .line 214
      StackMap locals: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit org.xnio.channels.StreamSourceChannel long java.nio.ByteBuffer long long
      StackMap stack: java.lang.Throwable
            astore 9 /* e */
        start local 9 // java.lang.Throwable e
        11: .line 215
            aload 0 /* this */
            iconst_1
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.broken:Z
        12: .line 216
            aload 9 /* e */
            athrow
        end local 9 // java.lang.Throwable e
        13: .line 217
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10
        14: .line 218
            aload 0 /* this */
            lload 5 /* val */
            lload 7 /* res */
            invokevirtual io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.exitWrite:(JJ)V
        15: .line 219
            aload 10
            athrow
        end local 7 // long res
        end local 5 // long val
        end local 4 // java.nio.ByteBuffer throughBuffer
        end local 2 // long count
        end local 1 // org.xnio.channels.StreamSourceChannel source
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;
            0   16     1         source  Lorg/xnio/channels/StreamSourceChannel;
            0   16     2          count  J
            0   16     4  throughBuffer  Ljava/nio/ByteBuffer;
            2   16     5            val  J
            7   16     7            res  J
           11   13     9              e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7     8      10  Class java.io.IOException
           7     8      10  Class java.lang.RuntimeException
           7     8      10  Class java.lang.Error
           7     8      13  any
          10    13      13  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      source         final
      count          final
      throughBuffer  final

  public boolean flush();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
         0: .line 223
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
            lstore 1 /* val */
        start local 1 // long val
         1: .line 224
            lload 1 /* val */
            ldc 4611686018427387904
            invokestatic org.xnio.Bits.anyAreSet:(JJ)Z
            ifeq 3
         2: .line 225
            iconst_1
            ireturn
         3: .line 227
      StackMap locals: long
      StackMap stack:
            iconst_0
            istore 3 /* flushed */
        start local 3 // boolean flushed
         4: .line 229
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
            dup
            istore 3 /* flushed */
            istore 6
         5: .line 234
            aload 0 /* this */
            lload 1 /* val */
            iload 3 /* flushed */
            invokevirtual io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.exitFlush:(JZ)V
         6: .line 229
            iload 6
            ireturn
         7: .line 230
      StackMap locals: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit long int
      StackMap stack: java.lang.Throwable
            astore 4 /* e */
        start local 4 // java.lang.Throwable e
         8: .line 231
            aload 0 /* this */
            iconst_1
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.broken:Z
         9: .line 232
            aload 4 /* e */
            athrow
        end local 4 // java.lang.Throwable e
        10: .line 233
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        11: .line 234
            aload 0 /* this */
            lload 1 /* val */
            iload 3 /* flushed */
            invokevirtual io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.exitFlush:(JZ)V
        12: .line 235
            aload 5
            athrow
        end local 3 // boolean flushed
        end local 1 // long val
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;
            1   13     1      val  J
            4   13     3  flushed  Z
            8   10     4        e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4     5       7  Class java.io.IOException
           4     5       7  Class java.lang.RuntimeException
           4     5       7  Class java.lang.Error
           4     5      10  any
           7    10      10  any
    Exceptions:
      throws java.io.IOException

  public boolean isWriteResumed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
         0: .line 240
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
            ldc 4611686018427387904
            invokestatic org.xnio.Bits.allAreClear:(JJ)Z
            ifeq 1
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.isWriteResumed:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;

  public void wakeupWrites();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
         0: .line 244
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
            lstore 1 /* val */
        start local 1 // long val
         1: .line 245
            lload 1 /* val */
            ldc 4611686018427387904
            invokestatic org.xnio.Bits.anyAreSet:(JJ)Z
            ifeq 3
         2: .line 246
            return
         3: .line 248
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.wakeupWrites:()V
         4: .line 249
            return
        end local 1 // long val
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;
            1    5     1   val  J

  public void terminateWrites();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
         0: .line 252
            aload 0 /* this */
            invokevirtual io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.enterShutdown:()J
            lstore 1 /* val */
        start local 1 // long val
         1: .line 253
            lload 1 /* val */
            getstatic io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.MASK_COUNT:J
            invokestatic org.xnio.Bits.anyAreSet:(JJ)Z
            ifeq 14
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.broken:Z
            ifne 14
         2: .line 254
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Fixed length stream closed with with %s bytes remaining"
            lload 1 /* val */
            getstatic io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.MASK_COUNT:J
            land
            invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;J)V
         3: .line 256
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.truncateWrites:()V
         4: .line 257
            goto 10
      StackMap locals: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit long
      StackMap stack: java.lang.Throwable
         5: astore 3
         6: .line 258
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
            ldc 2305843009213693952
            invokestatic org.xnio.Bits.anyAreSet:(JJ)Z
            ifne 9
         7: .line 259
            aload 0 /* this */
            dup
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
            ldc 2305843009213693952
            lor
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
         8: .line 260
            aload 0 /* this */
            invokevirtual io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.channelFinished:()V
         9: .line 262
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
        10: .line 258
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
            ldc 2305843009213693952
            invokestatic org.xnio.Bits.anyAreSet:(JJ)Z
            ifne 16
        11: .line 259
            aload 0 /* this */
            dup
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
            ldc 2305843009213693952
            lor
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
        12: .line 260
            aload 0 /* this */
            invokevirtual io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.channelFinished:()V
        13: .line 263
            goto 16
      StackMap locals:
      StackMap stack:
        14: aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.config:I
            iconst_2
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 16
        15: .line 264
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
        16: .line 267
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long val
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;
            1   17     1   val  J
      Exception table:
        from    to  target  type
           3     5       5  any
    Exceptions:
      throws java.io.IOException

  public void truncateWrites();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
         0: .line 272
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
            ldc 2305843009213693952
            invokestatic org.xnio.Bits.anyAreSet:(JJ)Z
            ifne 7
         1: .line 273
            aload 0 /* this */
            dup
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
            ldc 2305843009213693952
            lor
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
         2: .line 274
            aload 0 /* this */
            invokevirtual io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.channelFinished:()V
         3: .line 276
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         4: astore 1
         5: .line 277
            aload 0 /* this */
            invokespecial org.xnio.conduits.AbstractStreamSinkConduit.truncateWrites:()V
         6: .line 278
            aload 1
            athrow
         7: .line 277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.xnio.conduits.AbstractStreamSinkConduit.truncateWrites:()V
         8: .line 279
            return
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;
      Exception table:
        from    to  target  type
           0     4       4  any
    Exceptions:
      throws java.io.IOException

  public void awaitWritable();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
         0: .line 282
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.awaitWritable:()V
         1: .line 283
            return
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;
    Exceptions:
      throws java.io.IOException

  public void awaitWritable(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
        start local 1 // long time
        start local 3 // java.util.concurrent.TimeUnit timeUnit
         0: .line 286
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            lload 1 /* time */
            aload 3 /* timeUnit */
            invokeinterface org.xnio.conduits.StreamSinkConduit.awaitWritable:(JLjava/util/concurrent/TimeUnit;)V
         1: .line 287
            return
        end local 3 // java.util.concurrent.TimeUnit timeUnit
        end local 1 // long time
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;
            0    2     1      time  J
            0    2     3  timeUnit  Ljava/util/concurrent/TimeUnit;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      time      final
      timeUnit  final

  public long getRemaining();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
         0: .line 296
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
            getstatic io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.MASK_COUNT:J
            land
            lreturn
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;

  private void exitWrite(long, long);
    descriptor: (JJ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
        start local 1 // long oldVal
        start local 3 // long consumed
         0: .line 300
            lload 1 /* oldVal */
            lload 3 /* consumed */
            lsub
            lstore 5 /* newVal */
        start local 5 // long newVal
         1: .line 301
            aload 0 /* this */
            lload 5 /* newVal */
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
         2: .line 302
            return
        end local 5 // long newVal
        end local 3 // long consumed
        end local 1 // long oldVal
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;
            0    3     1    oldVal  J
            0    3     3  consumed  J
            1    3     5    newVal  J
    MethodParameters:
          Name  Flags
      oldVal    
      consumed  

  private void exitFlush(long, boolean);
    descriptor: (JZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
        start local 1 // long oldVal
        start local 3 // boolean flushed
         0: .line 305
            lload 1 /* oldVal */
            lstore 4 /* newVal */
        start local 4 // long newVal
         1: .line 306
            iconst_0
            istore 6 /* callFinish */
        start local 6 // boolean callFinish
         2: .line 307
            lload 1 /* oldVal */
            ldc -9223372036854775808
            invokestatic org.xnio.Bits.anyAreSet:(JJ)Z
            ifne 3
            lload 4 /* newVal */
            getstatic io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.MASK_COUNT:J
            land
            lconst_0
            lcmp
            ifne 11
      StackMap locals: long int
      StackMap stack:
         3: iload 3 /* flushed */
            ifeq 11
         4: .line 308
            lload 4 /* newVal */
            ldc 4611686018427387904
            lor
            lstore 4 /* newVal */
         5: .line 310
            lload 1 /* oldVal */
            ldc 2305843009213693952
            invokestatic org.xnio.Bits.anyAreSet:(JJ)Z
            ifne 8
            lload 4 /* newVal */
            getstatic io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.MASK_COUNT:J
            land
            lconst_0
            lcmp
            ifne 8
         6: .line 311
            lload 4 /* newVal */
            ldc 2305843009213693952
            lor
            lstore 4 /* newVal */
         7: .line 312
            iconst_1
            istore 6 /* callFinish */
         8: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 4 /* newVal */
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
         9: .line 315
            iload 6 /* callFinish */
            ifeq 11
        10: .line 316
            aload 0 /* this */
            invokevirtual io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.channelFinished:()V
        11: .line 319
      StackMap locals:
      StackMap stack:
            return
        end local 6 // boolean callFinish
        end local 4 // long newVal
        end local 3 // boolean flushed
        end local 1 // long oldVal
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;
            0   12     1      oldVal  J
            0   12     3     flushed  Z
            1   12     4      newVal  J
            2   12     6  callFinish  Z
    MethodParameters:
         Name  Flags
      oldVal   
      flushed  

  protected void channelFinished();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
         0: .line 322
            return
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;

  private long enterShutdown();
    descriptor: ()J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
         0: .line 326
            aload 0 /* this */
            getfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
            lstore 1 /* oldVal */
        start local 1 // long oldVal
         1: .line 327
            lload 1 /* oldVal */
            ldc -4611686018427387904
            invokestatic org.xnio.Bits.anyAreSet:(JJ)Z
            ifeq 3
         2: .line 329
            lload 1 /* oldVal */
            lreturn
         3: .line 331
      StackMap locals: long
      StackMap stack:
            lload 1 /* oldVal */
            ldc -9223372036854775808
            lor
            lstore 3 /* newVal */
        start local 3 // long newVal
         4: .line 332
            lload 1 /* oldVal */
            getstatic io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.MASK_COUNT:J
            invokestatic org.xnio.Bits.anyAreSet:(JJ)Z
            ifeq 6
         5: .line 334
            lload 3 /* newVal */
            ldc 4611686018427387904
            lor
            lstore 3 /* newVal */
         6: .line 336
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            lload 3 /* newVal */
            putfield io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.state:J
         7: .line 337
            lload 1 /* oldVal */
            lreturn
        end local 3 // long newVal
        end local 1 // long oldVal
        end local 0 // io.undertow.conduits.AbstractFixedLengthStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lio/undertow/conduits/AbstractFixedLengthStreamSinkConduit;
            1    8     1  oldVal  J
            4    8     3  newVal  J
}
Signature: Lorg/xnio/conduits/AbstractStreamSinkConduit<Lorg/xnio/conduits/StreamSinkConduit;>;
SourceFile: "AbstractFixedLengthStreamSinkConduit.java"