public final class io.undertow.server.protocol.ajp.AjpServerConnection extends io.undertow.server.AbstractServerConnection
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.undertow.server.protocol.ajp.AjpServerConnection
  super_class: io.undertow.server.AbstractServerConnection
{
  private io.undertow.server.SSLSessionInfo sslSessionInfo;
    descriptor: Lio/undertow/server/SSLSessionInfo;
    flags: (0x0002) ACC_PRIVATE

  private org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel> writeReadyHandler;
    descriptor: Lorg/xnio/conduits/WriteReadyHandler$ChannelListenerHandler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/xnio/conduits/WriteReadyHandler$ChannelListenerHandler<Lorg/xnio/conduits/ConduitStreamSinkChannel;>;

  private io.undertow.server.protocol.ajp.AjpReadListener ajpReadListener;
    descriptor: Lio/undertow/server/protocol/ajp/AjpReadListener;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.xnio.StreamConnection, io.undertow.connector.ByteBufferPool, io.undertow.server.HttpHandler, org.xnio.OptionMap, int);
    descriptor: (Lorg/xnio/StreamConnection;Lio/undertow/connector/ByteBufferPool;Lio/undertow/server/HttpHandler;Lorg/xnio/OptionMap;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
        start local 1 // org.xnio.StreamConnection channel
        start local 2 // io.undertow.connector.ByteBufferPool bufferPool
        start local 3 // io.undertow.server.HttpHandler rootHandler
        start local 4 // org.xnio.OptionMap undertowOptions
        start local 5 // int bufferSize
         0: .line 48
            aload 0 /* this */
            aload 1 /* channel */
            aload 2 /* bufferPool */
            aload 3 /* rootHandler */
            aload 4 /* undertowOptions */
            iload 5 /* bufferSize */
            invokespecial io.undertow.server.AbstractServerConnection.<init>:(Lorg/xnio/StreamConnection;Lio/undertow/connector/ByteBufferPool;Lio/undertow/server/HttpHandler;Lorg/xnio/OptionMap;I)V
         1: .line 49
            aload 0 /* this */
            new org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler
            dup
            aload 1 /* channel */
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokespecial org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler.<init>:(Lorg/xnio/channels/SuspendableWriteChannel;)V
            putfield io.undertow.server.protocol.ajp.AjpServerConnection.writeReadyHandler:Lorg/xnio/conduits/WriteReadyHandler$ChannelListenerHandler;
         2: .line 50
            return
        end local 5 // int bufferSize
        end local 4 // org.xnio.OptionMap undertowOptions
        end local 3 // io.undertow.server.HttpHandler rootHandler
        end local 2 // io.undertow.connector.ByteBufferPool bufferPool
        end local 1 // org.xnio.StreamConnection channel
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lio/undertow/server/protocol/ajp/AjpServerConnection;
            0    3     1          channel  Lorg/xnio/StreamConnection;
            0    3     2       bufferPool  Lio/undertow/connector/ByteBufferPool;
            0    3     3      rootHandler  Lio/undertow/server/HttpHandler;
            0    3     4  undertowOptions  Lorg/xnio/OptionMap;
            0    3     5       bufferSize  I
    MethodParameters:
                 Name  Flags
      channel          
      bufferPool       
      rootHandler      
      undertowOptions  
      bufferSize       

  public io.undertow.server.HttpServerExchange sendOutOfBandResponse(io.undertow.server.HttpServerExchange);
    descriptor: (Lio/undertow/server/HttpServerExchange;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
        start local 1 // io.undertow.server.HttpServerExchange exchange
         0: .line 54
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.outOfBandResponseNotSupported:()Ljava/lang/IllegalStateException;
            athrow
        end local 1 // io.undertow.server.HttpServerExchange exchange
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/undertow/server/protocol/ajp/AjpServerConnection;
            0    1     1  exchange  Lio/undertow/server/HttpServerExchange;
    MethodParameters:
          Name  Flags
      exchange  

  public boolean isContinueResponseSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
         0: .line 59
            iconst_0
            ireturn
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/ajp/AjpServerConnection;

  public void terminateRequestChannel(io.undertow.server.HttpServerExchange);
    descriptor: (Lio/undertow/server/HttpServerExchange;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
        start local 1 // io.undertow.server.HttpServerExchange exchange
         0: .line 65
            return
        end local 1 // io.undertow.server.HttpServerExchange exchange
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/undertow/server/protocol/ajp/AjpServerConnection;
            0    1     1  exchange  Lio/undertow/server/HttpServerExchange;
    MethodParameters:
          Name  Flags
      exchange  

  public void restoreChannel(io.undertow.server.AbstractServerConnection$ConduitState);
    descriptor: (Lio/undertow/server/AbstractServerConnection$ConduitState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
        start local 1 // io.undertow.server.AbstractServerConnection$ConduitState state
         0: .line 69
            aload 0 /* this */
            aload 1 /* state */
            invokespecial io.undertow.server.AbstractServerConnection.restoreChannel:(Lio/undertow/server/AbstractServerConnection$ConduitState;)V
         1: .line 70
            aload 0 /* this */
            getfield io.undertow.server.protocol.ajp.AjpServerConnection.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getConduit:()Lorg/xnio/conduits/StreamSinkConduit;
            aload 0 /* this */
            getfield io.undertow.server.protocol.ajp.AjpServerConnection.writeReadyHandler:Lorg/xnio/conduits/WriteReadyHandler$ChannelListenerHandler;
            invokeinterface org.xnio.conduits.StreamSinkConduit.setWriteReadyHandler:(Lorg/xnio/conduits/WriteReadyHandler;)V
         2: .line 71
            return
        end local 1 // io.undertow.server.AbstractServerConnection$ConduitState state
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lio/undertow/server/protocol/ajp/AjpServerConnection;
            0    3     1  state  Lio/undertow/server/AbstractServerConnection$ConduitState;
    MethodParameters:
       Name  Flags
      state  

  public io.undertow.server.AbstractServerConnection$ConduitState resetChannel();
    descriptor: ()Lio/undertow/server/AbstractServerConnection$ConduitState;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
         0: .line 75
            aload 0 /* this */
            invokespecial io.undertow.server.AbstractServerConnection.resetChannel:()Lio/undertow/server/AbstractServerConnection$ConduitState;
            astore 1 /* state */
        start local 1 // io.undertow.server.AbstractServerConnection$ConduitState state
         1: .line 76
            aload 0 /* this */
            getfield io.undertow.server.protocol.ajp.AjpServerConnection.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getConduit:()Lorg/xnio/conduits/StreamSinkConduit;
            aload 0 /* this */
            getfield io.undertow.server.protocol.ajp.AjpServerConnection.writeReadyHandler:Lorg/xnio/conduits/WriteReadyHandler$ChannelListenerHandler;
            invokeinterface org.xnio.conduits.StreamSinkConduit.setWriteReadyHandler:(Lorg/xnio/conduits/WriteReadyHandler;)V
         2: .line 77
            aload 1 /* state */
            areturn
        end local 1 // io.undertow.server.AbstractServerConnection$ConduitState state
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lio/undertow/server/protocol/ajp/AjpServerConnection;
            1    3     1  state  Lio/undertow/server/AbstractServerConnection$ConduitState;

  public void clearChannel();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
         0: .line 82
            aload 0 /* this */
            invokespecial io.undertow.server.AbstractServerConnection.clearChannel:()V
         1: .line 83
            aload 0 /* this */
            getfield io.undertow.server.protocol.ajp.AjpServerConnection.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getConduit:()Lorg/xnio/conduits/StreamSinkConduit;
            aload 0 /* this */
            getfield io.undertow.server.protocol.ajp.AjpServerConnection.writeReadyHandler:Lorg/xnio/conduits/WriteReadyHandler$ChannelListenerHandler;
            invokeinterface org.xnio.conduits.StreamSinkConduit.setWriteReadyHandler:(Lorg/xnio/conduits/WriteReadyHandler;)V
         2: .line 84
            return
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/protocol/ajp/AjpServerConnection;

  public io.undertow.server.SSLSessionInfo getSslSessionInfo();
    descriptor: ()Lio/undertow/server/SSLSessionInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
         0: .line 88
            aload 0 /* this */
            getfield io.undertow.server.protocol.ajp.AjpServerConnection.sslSessionInfo:Lio/undertow/server/SSLSessionInfo;
            areturn
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/ajp/AjpServerConnection;

  public void setSslSessionInfo(io.undertow.server.SSLSessionInfo);
    descriptor: (Lio/undertow/server/SSLSessionInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
        start local 1 // io.undertow.server.SSLSessionInfo sessionInfo
         0: .line 93
            aload 0 /* this */
            aload 1 /* sessionInfo */
            putfield io.undertow.server.protocol.ajp.AjpServerConnection.sslSessionInfo:Lio/undertow/server/SSLSessionInfo;
         1: .line 94
            return
        end local 1 // io.undertow.server.SSLSessionInfo sessionInfo
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/undertow/server/protocol/ajp/AjpServerConnection;
            0    2     1  sessionInfo  Lio/undertow/server/SSLSessionInfo;
    MethodParameters:
             Name  Flags
      sessionInfo  

  void setSSLSessionInfo(io.undertow.server.BasicSSLSessionInfo);
    descriptor: (Lio/undertow/server/BasicSSLSessionInfo;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
        start local 1 // io.undertow.server.BasicSSLSessionInfo sslSessionInfo
         0: .line 97
            aload 0 /* this */
            aload 1 /* sslSessionInfo */
            putfield io.undertow.server.protocol.ajp.AjpServerConnection.sslSessionInfo:Lio/undertow/server/SSLSessionInfo;
         1: .line 98
            return
        end local 1 // io.undertow.server.BasicSSLSessionInfo sslSessionInfo
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lio/undertow/server/protocol/ajp/AjpServerConnection;
            0    2     1  sslSessionInfo  Lio/undertow/server/BasicSSLSessionInfo;
    MethodParameters:
                Name  Flags
      sslSessionInfo  

  protected org.xnio.StreamConnection upgradeChannel();
    descriptor: ()Lorg/xnio/StreamConnection;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
         0: .line 102
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.upgradeNotSupported:()Ljava/lang/IllegalStateException;
            athrow
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/ajp/AjpServerConnection;

  protected org.xnio.conduits.StreamSinkConduit getSinkConduit(io.undertow.server.HttpServerExchange, org.xnio.conduits.StreamSinkConduit);
    descriptor: (Lio/undertow/server/HttpServerExchange;Lorg/xnio/conduits/StreamSinkConduit;)Lorg/xnio/conduits/StreamSinkConduit;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
        start local 1 // io.undertow.server.HttpServerExchange exchange
        start local 2 // org.xnio.conduits.StreamSinkConduit conduit
         0: .line 107
            aload 1 /* exchange */
            invokestatic io.undertow.util.DateUtils.addDateHeaderIfRequired:(Lio/undertow/server/HttpServerExchange;)V
         1: .line 108
            aload 2 /* conduit */
            areturn
        end local 2 // org.xnio.conduits.StreamSinkConduit conduit
        end local 1 // io.undertow.server.HttpServerExchange exchange
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/undertow/server/protocol/ajp/AjpServerConnection;
            0    2     1  exchange  Lio/undertow/server/HttpServerExchange;
            0    2     2   conduit  Lorg/xnio/conduits/StreamSinkConduit;
    MethodParameters:
          Name  Flags
      exchange  
      conduit   

  protected boolean isUpgradeSupported();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
         0: .line 113
            iconst_0
            ireturn
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/ajp/AjpServerConnection;

  protected boolean isConnectSupported();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
         0: .line 118
            iconst_0
            ireturn
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/ajp/AjpServerConnection;

  void setAjpReadListener(io.undertow.server.protocol.ajp.AjpReadListener);
    descriptor: (Lio/undertow/server/protocol/ajp/AjpReadListener;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
        start local 1 // io.undertow.server.protocol.ajp.AjpReadListener ajpReadListener
         0: .line 122
            aload 0 /* this */
            aload 1 /* ajpReadListener */
            putfield io.undertow.server.protocol.ajp.AjpServerConnection.ajpReadListener:Lio/undertow/server/protocol/ajp/AjpReadListener;
         1: .line 123
            return
        end local 1 // io.undertow.server.protocol.ajp.AjpReadListener ajpReadListener
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lio/undertow/server/protocol/ajp/AjpServerConnection;
            0    2     1  ajpReadListener  Lio/undertow/server/protocol/ajp/AjpReadListener;
    MethodParameters:
                 Name  Flags
      ajpReadListener  

  protected void exchangeComplete(io.undertow.server.HttpServerExchange);
    descriptor: (Lio/undertow/server/HttpServerExchange;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
        start local 1 // io.undertow.server.HttpServerExchange exchange
         0: .line 127
            aload 0 /* this */
            getfield io.undertow.server.protocol.ajp.AjpServerConnection.ajpReadListener:Lio/undertow/server/protocol/ajp/AjpReadListener;
            aload 1 /* exchange */
            invokevirtual io.undertow.server.protocol.ajp.AjpReadListener.exchangeComplete:(Lio/undertow/server/HttpServerExchange;)V
         1: .line 128
            return
        end local 1 // io.undertow.server.HttpServerExchange exchange
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/undertow/server/protocol/ajp/AjpServerConnection;
            0    2     1  exchange  Lio/undertow/server/HttpServerExchange;
    MethodParameters:
          Name  Flags
      exchange  

  protected void setConnectListener(io.undertow.server.HttpUpgradeListener);
    descriptor: (Lio/undertow/server/HttpUpgradeListener;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
        start local 1 // io.undertow.server.HttpUpgradeListener connectListener
         0: .line 132
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.connectNotSupported:()Ljava/lang/IllegalStateException;
            athrow
        end local 1 // io.undertow.server.HttpUpgradeListener connectListener
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lio/undertow/server/protocol/ajp/AjpServerConnection;
            0    1     1  connectListener  Lio/undertow/server/HttpUpgradeListener;
    MethodParameters:
                 Name  Flags
      connectListener  

  void setCurrentExchange(io.undertow.server.HttpServerExchange);
    descriptor: (Lio/undertow/server/HttpServerExchange;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
        start local 1 // io.undertow.server.HttpServerExchange exchange
         0: .line 136
            aload 0 /* this */
            aload 1 /* exchange */
            putfield io.undertow.server.protocol.ajp.AjpServerConnection.current:Lio/undertow/server/HttpServerExchange;
         1: .line 137
            return
        end local 1 // io.undertow.server.HttpServerExchange exchange
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/undertow/server/protocol/ajp/AjpServerConnection;
            0    2     1  exchange  Lio/undertow/server/HttpServerExchange;
    MethodParameters:
          Name  Flags
      exchange  

  public java.lang.String getTransportProtocol();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
         0: .line 141
            ldc "ajp"
            areturn
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/ajp/AjpServerConnection;

  public boolean isRequestTrailerFieldsSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
         0: .line 146
            iconst_0
            ireturn
        end local 0 // io.undertow.server.protocol.ajp.AjpServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/ajp/AjpServerConnection;
}
SourceFile: "AjpServerConnection.java"
InnerClasses:
  public ConduitState = io.undertow.server.AbstractServerConnection$ConduitState of io.undertow.server.AbstractServerConnection
  public ChannelListenerHandler = org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler of org.xnio.conduits.WriteReadyHandler