class org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor extends org.springframework.http.server.reactive.AbstractListenerWriteProcessor<org.springframework.core.io.buffer.DataBuffer>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor
  super_class: org.springframework.http.server.reactive.AbstractListenerWriteProcessor
{
  final org.springframework.http.server.reactive.ServletServerHttpResponse this$0;
    descriptor: Lorg/springframework/http/server/reactive/ServletServerHttpResponse;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(org.springframework.http.server.reactive.ServletServerHttpResponse);
    descriptor: (Lorg/springframework/http/server/reactive/ServletServerHttpResponse;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor this
         0: .line 318
            aload 0 /* this */
            aload 1
            putfield org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.this$0:Lorg/springframework/http/server/reactive/ServletServerHttpResponse;
         1: .line 319
            aload 0 /* this */
            aload 1
            getfield org.springframework.http.server.reactive.ServletServerHttpResponse.request:Lorg/springframework/http/server/reactive/ServletServerHttpRequest;
            invokevirtual org.springframework.http.server.reactive.ServletServerHttpRequest.getLogPrefix:()Ljava/lang/String;
            invokespecial org.springframework.http.server.reactive.AbstractListenerWriteProcessor.<init>:(Ljava/lang/String;)V
         2: .line 320
            return
        end local 0 // org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/http/server/reactive/ServletServerHttpResponse$ResponseBodyProcessor;
    MethodParameters:
        Name  Flags
      this$0  final

  protected boolean isWritePossible();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor this
         0: .line 324
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.this$0:Lorg/springframework/http/server/reactive/ServletServerHttpResponse;
            invokevirtual org.springframework.http.server.reactive.ServletServerHttpResponse.isWritePossible:()Z
            ireturn
        end local 0 // org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/http/server/reactive/ServletServerHttpResponse$ResponseBodyProcessor;

  protected boolean isDataEmpty(org.springframework.core.io.buffer.DataBuffer);
    descriptor: (Lorg/springframework/core/io/buffer/DataBuffer;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor this
        start local 1 // org.springframework.core.io.buffer.DataBuffer dataBuffer
         0: .line 329
            aload 1 /* dataBuffer */
            invokeinterface org.springframework.core.io.buffer.DataBuffer.readableByteCount:()I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.springframework.core.io.buffer.DataBuffer dataBuffer
        end local 0 // org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/springframework/http/server/reactive/ServletServerHttpResponse$ResponseBodyProcessor;
            0    2     1  dataBuffer  Lorg/springframework/core/io/buffer/DataBuffer;
    MethodParameters:
            Name  Flags
      dataBuffer  

  protected boolean write(org.springframework.core.io.buffer.DataBuffer);
    descriptor: (Lorg/springframework/core/io/buffer/DataBuffer;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor this
        start local 1 // org.springframework.core.io.buffer.DataBuffer dataBuffer
         0: .line 334
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.this$0:Lorg/springframework/http/server/reactive/ServletServerHttpResponse;
            getfield org.springframework.http.server.reactive.ServletServerHttpResponse.flushOnNext:Z
            ifeq 4
         1: .line 335
            getstatic org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.rsWriteLogger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 3
         2: .line 336
            getstatic org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.rsWriteLogger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.getLogPrefix:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Flush attempt"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
         3: .line 338
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.this$0:Lorg/springframework/http/server/reactive/ServletServerHttpResponse;
            invokevirtual org.springframework.http.server.reactive.ServletServerHttpResponse.flush:()V
         4: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.this$0:Lorg/springframework/http/server/reactive/ServletServerHttpResponse;
            invokevirtual org.springframework.http.server.reactive.ServletServerHttpResponse.isWritePossible:()Z
            istore 2 /* ready */
        start local 2 // boolean ready
         5: .line 342
            aload 1 /* dataBuffer */
            invokeinterface org.springframework.core.io.buffer.DataBuffer.readableByteCount:()I
            istore 3 /* remaining */
        start local 3 // int remaining
         6: .line 343
            iload 2 /* ready */
            ifeq 16
            iload 3 /* remaining */
            ifle 16
         7: .line 345
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.this$0:Lorg/springframework/http/server/reactive/ServletServerHttpResponse;
            aload 1 /* dataBuffer */
            invokevirtual org.springframework.http.server.reactive.ServletServerHttpResponse.writeToOutputStream:(Lorg/springframework/core/io/buffer/DataBuffer;)I
            istore 4 /* written */
        start local 4 // int written
         8: .line 346
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.this$0:Lorg/springframework/http/server/reactive/ServletServerHttpResponse;
            getfield org.springframework.http.server.reactive.ServletServerHttpResponse.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 11
         9: .line 347
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.this$0:Lorg/springframework/http/server/reactive/ServletServerHttpResponse;
            getfield org.springframework.http.server.reactive.ServletServerHttpResponse.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.getLogPrefix:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Wrote "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* written */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* remaining */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bytes"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
        10: .line 348
            goto 13
        11: .line 349
      StackMap locals: int int int
      StackMap stack:
            getstatic org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.rsWriteLogger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 13
        12: .line 350
            getstatic org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.rsWriteLogger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.getLogPrefix:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Wrote "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* written */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* remaining */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bytes"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
        13: .line 352
      StackMap locals:
      StackMap stack:
            iload 4 /* written */
            iload 3 /* remaining */
            if_icmpne 18
        14: .line 353
            aload 1 /* dataBuffer */
            invokestatic org.springframework.core.io.buffer.DataBufferUtils.release:(Lorg/springframework/core/io/buffer/DataBuffer;)Z
            pop
        15: .line 354
            iconst_1
            ireturn
        end local 4 // int written
        16: .line 358
      StackMap locals:
      StackMap stack:
            getstatic org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.rsWriteLogger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 18
        17: .line 359
            getstatic org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.rsWriteLogger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.getLogPrefix:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "ready: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* ready */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            ldc ", remaining: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* remaining */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
        18: .line 363
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // int remaining
        end local 2 // boolean ready
        end local 1 // org.springframework.core.io.buffer.DataBuffer dataBuffer
        end local 0 // org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lorg/springframework/http/server/reactive/ServletServerHttpResponse$ResponseBodyProcessor;
            0   19     1  dataBuffer  Lorg/springframework/core/io/buffer/DataBuffer;
            5   19     2       ready  Z
            6   19     3   remaining  I
            8   16     4     written  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      dataBuffer  

  protected void writingComplete();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor this
         0: .line 368
            aload 0 /* this */
            getfield org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.this$0:Lorg/springframework/http/server/reactive/ServletServerHttpResponse;
            aconst_null
            putfield org.springframework.http.server.reactive.ServletServerHttpResponse.bodyProcessor:Lorg/springframework/http/server/reactive/ServletServerHttpResponse$ResponseBodyProcessor;
         1: .line 369
            return
        end local 0 // org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/http/server/reactive/ServletServerHttpResponse$ResponseBodyProcessor;

  protected void discardData(org.springframework.core.io.buffer.DataBuffer);
    descriptor: (Lorg/springframework/core/io/buffer/DataBuffer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor this
        start local 1 // org.springframework.core.io.buffer.DataBuffer dataBuffer
         0: .line 373
            aload 1 /* dataBuffer */
            invokestatic org.springframework.core.io.buffer.DataBufferUtils.release:(Lorg/springframework/core/io/buffer/DataBuffer;)Z
            pop
         1: .line 374
            return
        end local 1 // org.springframework.core.io.buffer.DataBuffer dataBuffer
        end local 0 // org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/springframework/http/server/reactive/ServletServerHttpResponse$ResponseBodyProcessor;
            0    2     1  dataBuffer  Lorg/springframework/core/io/buffer/DataBuffer;
    MethodParameters:
            Name  Flags
      dataBuffer  

  protected void discardData(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.springframework.core.io.buffer.DataBuffer
            invokevirtual org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.discardData:(Lorg/springframework/core/io/buffer/DataBuffer;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected boolean write(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.springframework.core.io.buffer.DataBuffer
            invokevirtual org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.write:(Lorg/springframework/core/io/buffer/DataBuffer;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException

  protected boolean isDataEmpty(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.springframework.core.io.buffer.DataBuffer
            invokevirtual org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor.isDataEmpty:(Lorg/springframework/core/io/buffer/DataBuffer;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/springframework/http/server/reactive/AbstractListenerWriteProcessor<Lorg/springframework/core/io/buffer/DataBuffer;>;
SourceFile: "ServletServerHttpResponse.java"
NestHost: org.springframework.http.server.reactive.ServletServerHttpResponse
InnerClasses:
  private ResponseBodyProcessor = org.springframework.http.server.reactive.ServletServerHttpResponse$ResponseBodyProcessor of org.springframework.http.server.reactive.ServletServerHttpResponse