public class org.apache.catalina.connector.InputBuffer extends java.io.Reader implements org.apache.tomcat.util.buf.ByteChunk$ByteInputChannel, org.apache.tomcat.util.net.ApplicationBufferHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.catalina.connector.InputBuffer
super_class: java.io.Reader
{
protected static final org.apache.tomcat.util.res.StringManager sm;
descriptor: Lorg/apache/tomcat/util/res/StringManager;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
private static final org.apache.juli.logging.Log log;
descriptor: Lorg/apache/juli/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final int DEFAULT_BUFFER_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8192
public final int INITIAL_STATE;
descriptor: I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
ConstantValue: 0
public final int CHAR_STATE;
descriptor: I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
ConstantValue: 1
public final int BYTE_STATE;
descriptor: I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
ConstantValue: 2
private static final java.util.Map<java.nio.charset.Charset, org.apache.tomcat.util.collections.SynchronizedStack<org.apache.tomcat.util.buf.B2CConverter>> encoders;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/nio/charset/Charset;Lorg/apache/tomcat/util/collections/SynchronizedStack<Lorg/apache/tomcat/util/buf/B2CConverter;>;>;
private java.nio.ByteBuffer bb;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private java.nio.CharBuffer cb;
descriptor: Ljava/nio/CharBuffer;
flags: (0x0002) ACC_PRIVATE
private int state;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean closed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
protected org.apache.tomcat.util.buf.B2CConverter conv;
descriptor: Lorg/apache/tomcat/util/buf/B2CConverter;
flags: (0x0004) ACC_PROTECTED
private org.apache.coyote.Request coyoteRequest;
descriptor: Lorg/apache/coyote/Request;
flags: (0x0002) ACC_PRIVATE
private int markPos;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int readLimit;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final int size;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/apache/catalina/connector/InputBuffer;
invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
putstatic org.apache.catalina.connector.InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
1: ldc Lorg/apache/catalina/connector/InputBuffer;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
putstatic org.apache.catalina.connector.InputBuffer.log:Lorg/apache/juli/logging/Log;
2: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic org.apache.catalina.connector.InputBuffer.encoders:Ljava/util/Map;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
sipush 8192
invokespecial org.apache.catalina.connector.InputBuffer.<init>:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/connector/InputBuffer;
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.io.Reader.<init>:()V
1: aload 0
iconst_0
putfield org.apache.catalina.connector.InputBuffer.INITIAL_STATE:I
2: aload 0
iconst_1
putfield org.apache.catalina.connector.InputBuffer.CHAR_STATE:I
3: aload 0
iconst_2
putfield org.apache.catalina.connector.InputBuffer.BYTE_STATE:I
4: aload 0
iconst_0
putfield org.apache.catalina.connector.InputBuffer.state:I
5: aload 0
iconst_0
putfield org.apache.catalina.connector.InputBuffer.closed:Z
6: aload 0
iconst_m1
putfield org.apache.catalina.connector.InputBuffer.markPos:I
7: aload 0
iload 1
putfield org.apache.catalina.connector.InputBuffer.size:I
8: aload 0
iload 1
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
9: aload 0
aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
invokevirtual org.apache.catalina.connector.InputBuffer.clear:(Ljava/nio/Buffer;)V
10: aload 0
iload 1
invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
putfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
11: aload 0
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual org.apache.catalina.connector.InputBuffer.clear:(Ljava/nio/Buffer;)V
12: aload 0
iload 1
putfield org.apache.catalina.connector.InputBuffer.readLimit:I
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/catalina/connector/InputBuffer;
0 14 1 size I
MethodParameters:
Name Flags
size
public void setRequest(org.apache.coyote.Request);
descriptor: (Lorg/apache/coyote/Request;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.connector.InputBuffer.coyoteRequest:Lorg/apache/coyote/Request;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/connector/InputBuffer;
0 2 1 coyoteRequest Lorg/apache/coyote/Request;
MethodParameters:
Name Flags
coyoteRequest
public void recycle();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield org.apache.catalina.connector.InputBuffer.state:I
1: aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.capacity:()I
aload 0
getfield org.apache.catalina.connector.InputBuffer.size:I
if_icmple 5
2: aload 0
aload 0
getfield org.apache.catalina.connector.InputBuffer.size:I
invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
putfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
3: aload 0
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual org.apache.catalina.connector.InputBuffer.clear:(Ljava/nio/Buffer;)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual org.apache.catalina.connector.InputBuffer.clear:(Ljava/nio/Buffer;)V
6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.apache.catalina.connector.InputBuffer.size:I
putfield org.apache.catalina.connector.InputBuffer.readLimit:I
7: aload 0
iconst_m1
putfield org.apache.catalina.connector.InputBuffer.markPos:I
8: aload 0
aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
invokevirtual org.apache.catalina.connector.InputBuffer.clear:(Ljava/nio/Buffer;)V
9: aload 0
iconst_0
putfield org.apache.catalina.connector.InputBuffer.closed:Z
10: aload 0
getfield org.apache.catalina.connector.InputBuffer.conv:Lorg/apache/tomcat/util/buf/B2CConverter;
ifnull 14
11: aload 0
getfield org.apache.catalina.connector.InputBuffer.conv:Lorg/apache/tomcat/util/buf/B2CConverter;
invokevirtual org.apache.tomcat.util.buf.B2CConverter.recycle:()V
12: getstatic org.apache.catalina.connector.InputBuffer.encoders:Ljava/util/Map;
aload 0
getfield org.apache.catalina.connector.InputBuffer.conv:Lorg/apache/tomcat/util/buf/B2CConverter;
invokevirtual org.apache.tomcat.util.buf.B2CConverter.getCharset:()Ljava/nio/charset/Charset;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.tomcat.util.collections.SynchronizedStack
aload 0
getfield org.apache.catalina.connector.InputBuffer.conv:Lorg/apache/tomcat/util/buf/B2CConverter;
invokevirtual org.apache.tomcat.util.collections.SynchronizedStack.push:(Ljava/lang/Object;)Z
pop
13: aload 0
aconst_null
putfield org.apache.catalina.connector.InputBuffer.conv:Lorg/apache/tomcat/util/buf/B2CConverter;
14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/catalina/connector/InputBuffer;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.apache.catalina.connector.InputBuffer.closed:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/connector/InputBuffer;
Exceptions:
throws java.io.IOException
public int available();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.catalina.connector.InputBuffer.availableInThisBuffer:()I
istore 1
start local 1 1: iload 1
ifne 10
2: aload 0
getfield org.apache.catalina.connector.InputBuffer.coyoteRequest:Lorg/apache/coyote/Request;
getstatic org.apache.coyote.ActionCode.AVAILABLE:Lorg/apache/coyote/ActionCode;
3: aload 0
getfield org.apache.catalina.connector.InputBuffer.coyoteRequest:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.getReadListener:()Ljavax/servlet/ReadListener;
ifnull 4
iconst_1
goto 5
StackMap locals: org.apache.catalina.connector.InputBuffer int
StackMap stack: org.apache.coyote.Request org.apache.coyote.ActionCode
4: iconst_0
StackMap locals: org.apache.catalina.connector.InputBuffer int
StackMap stack: org.apache.coyote.Request org.apache.coyote.ActionCode int
5: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
6: invokevirtual org.apache.coyote.Request.action:(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V
7: aload 0
getfield org.apache.catalina.connector.InputBuffer.coyoteRequest:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.getAvailable:()I
ifle 8
iconst_1
goto 9
StackMap locals:
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 1
10: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/catalina/connector/InputBuffer;
1 11 1 available I
private int availableInThisBuffer();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield org.apache.catalina.connector.InputBuffer.state:I
iconst_2
if_icmpne 4
2: aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 1
3: goto 6
StackMap locals: int
StackMap stack:
4: aload 0
getfield org.apache.catalina.connector.InputBuffer.state:I
iconst_1
if_icmpne 6
5: aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.remaining:()I
istore 1
6: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/catalina/connector/InputBuffer;
1 7 1 available I
public void setReadListener(javax.servlet.ReadListener);
descriptor: (Ljavax/servlet/ReadListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.coyoteRequest:Lorg/apache/coyote/Request;
aload 1
invokevirtual org.apache.coyote.Request.setReadListener:(Ljavax/servlet/ReadListener;)V
1: aload 0
getfield org.apache.catalina.connector.InputBuffer.coyoteRequest:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.isFinished:()Z
ifne 5
aload 0
invokevirtual org.apache.catalina.connector.InputBuffer.isReady:()Z
ifeq 5
2: aload 0
getfield org.apache.catalina.connector.InputBuffer.coyoteRequest:Lorg/apache/coyote/Request;
getstatic org.apache.coyote.ActionCode.DISPATCH_READ:Lorg/apache/coyote/ActionCode;
aconst_null
invokevirtual org.apache.coyote.Request.action:(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V
3: invokestatic org.apache.coyote.ContainerThreadMarker.isContainerThread:()Z
ifne 5
4: aload 0
getfield org.apache.catalina.connector.InputBuffer.coyoteRequest:Lorg/apache/coyote/Request;
getstatic org.apache.coyote.ActionCode.DISPATCH_EXECUTE:Lorg/apache/coyote/ActionCode;
aconst_null
invokevirtual org.apache.coyote.Request.action:(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/catalina/connector/InputBuffer;
0 6 1 listener Ljavax/servlet/ReadListener;
MethodParameters:
Name Flags
listener
public boolean isFinished();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield org.apache.catalina.connector.InputBuffer.state:I
iconst_2
if_icmpne 4
2: aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 1
3: goto 6
StackMap locals: int
StackMap stack:
4: aload 0
getfield org.apache.catalina.connector.InputBuffer.state:I
iconst_1
if_icmpne 6
5: aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.remaining:()I
istore 1
6: StackMap locals:
StackMap stack:
iload 1
ifle 8
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.connector.InputBuffer.coyoteRequest:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.isFinished:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/catalina/connector/InputBuffer;
1 9 1 available I
public boolean isReady();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.coyoteRequest:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.getReadListener:()Ljavax/servlet/ReadListener;
ifnonnull 4
1: getstatic org.apache.catalina.connector.InputBuffer.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 3
2: getstatic org.apache.catalina.connector.InputBuffer.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.connector.InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "inputBuffer.requiresNonBlocking"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.connector.InputBuffer.isFinished:()Z
ifeq 9
5: invokestatic org.apache.coyote.ContainerThreadMarker.isContainerThread:()Z
ifne 8
6: aload 0
getfield org.apache.catalina.connector.InputBuffer.coyoteRequest:Lorg/apache/coyote/Request;
getstatic org.apache.coyote.ActionCode.DISPATCH_READ:Lorg/apache/coyote/ActionCode;
aconst_null
invokevirtual org.apache.coyote.Request.action:(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V
7: aload 0
getfield org.apache.catalina.connector.InputBuffer.coyoteRequest:Lorg/apache/coyote/Request;
getstatic org.apache.coyote.ActionCode.DISPATCH_EXECUTE:Lorg/apache/coyote/ActionCode;
aconst_null
invokevirtual org.apache.coyote.Request.action:(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V
8: StackMap locals:
StackMap stack:
iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.connector.InputBuffer.availableInThisBuffer:()I
ifle 11
10: iconst_1
ireturn
11: StackMap locals:
StackMap stack:
new java.util.concurrent.atomic.AtomicBoolean
dup
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
astore 1
start local 1 12: aload 0
getfield org.apache.catalina.connector.InputBuffer.coyoteRequest:Lorg/apache/coyote/Request;
getstatic org.apache.coyote.ActionCode.NB_READ_INTEREST:Lorg/apache/coyote/ActionCode;
aload 1
invokevirtual org.apache.coyote.Request.action:(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V
13: aload 1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/catalina/connector/InputBuffer;
12 14 1 result Ljava/util/concurrent/atomic/AtomicBoolean;
boolean isBlocking();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.coyoteRequest:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.getReadListener:()Ljavax/servlet/ReadListener;
ifnonnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/connector/InputBuffer;
public int realReadBytes();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.closed:Z
ifeq 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.connector.InputBuffer.coyoteRequest:Lorg/apache/coyote/Request;
ifnonnull 4
3: iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.connector.InputBuffer.state:I
ifne 6
5: aload 0
iconst_2
putfield org.apache.catalina.connector.InputBuffer.state:I
6: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.connector.InputBuffer.coyoteRequest:Lorg/apache/coyote/Request;
aload 0
invokevirtual org.apache.coyote.Request.doRead:(Lorg/apache/tomcat/util/net/ApplicationBufferHandler;)I
7: ireturn
8: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 9: new org.apache.catalina.connector.ClientAbortException
dup
aload 1
invokespecial org.apache.catalina.connector.ClientAbortException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/catalina/connector/InputBuffer;
9 10 1 ioe Ljava/io/IOException;
Exception table:
from to target type
6 7 8 Class java.io.IOException
Exceptions:
throws java.io.IOException
public int readByte();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.closed:Z
ifeq 2
1: new java.io.IOException
dup
getstatic org.apache.catalina.connector.InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "inputBuffer.streamClosed"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.connector.InputBuffer.checkByteBufferEof:()Z
ifeq 4
3: iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/catalina/connector/InputBuffer;
Exceptions:
throws java.io.IOException
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.closed:Z
ifeq 2
1: new java.io.IOException
dup
getstatic org.apache.catalina.connector.InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "inputBuffer.streamClosed"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.connector.InputBuffer.checkByteBufferEof:()Z
ifeq 4
3: iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic java.lang.Math.min:(II)I
istore 4
start local 4 5: aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
aload 1
iload 2
iload 4
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
6: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/catalina/connector/InputBuffer;
0 7 1 b [B
0 7 2 off I
0 7 3 len I
5 7 4 n I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
public int read(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.closed:Z
ifeq 2
1: new java.io.IOException
dup
getstatic org.apache.catalina.connector.InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "inputBuffer.streamClosed"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.connector.InputBuffer.checkByteBufferEof:()Z
ifeq 4
3: iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic java.lang.Math.min:(II)I
istore 2
start local 2 5: aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
istore 3
start local 3 6: aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
iload 2
iadd
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
7: aload 1
aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
8: aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
iload 3
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
9: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iload 2
isub
invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
pop
10: iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/catalina/connector/InputBuffer;
0 11 1 to Ljava/nio/ByteBuffer;
5 11 2 n I
6 11 3 orgLimit I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
to
public int realReadChars();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.catalina.connector.InputBuffer.checkConverter:()V
1: iconst_0
istore 1
start local 1 2: aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
ifgt 6
3: aload 0
invokevirtual org.apache.catalina.connector.InputBuffer.realReadBytes:()I
istore 2
start local 2 4: iload 2
ifge 6
5: iconst_1
istore 1
end local 2 6: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.catalina.connector.InputBuffer.markPos:I
iconst_m1
if_icmpne 9
7: aload 0
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual org.apache.catalina.connector.InputBuffer.clear:(Ljava/nio/Buffer;)V
8: goto 13
9: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual org.apache.catalina.connector.InputBuffer.makeSpace:(I)V
10: aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.capacity:()I
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.limit:()I
isub
ifne 13
aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
ifeq 13
11: aload 0
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual org.apache.catalina.connector.InputBuffer.clear:(Ljava/nio/Buffer;)V
12: aload 0
iconst_m1
putfield org.apache.catalina.connector.InputBuffer.markPos:I
13: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.apache.catalina.connector.InputBuffer.state:I
14: aload 0
getfield org.apache.catalina.connector.InputBuffer.conv:Lorg/apache/tomcat/util/buf/B2CConverter;
aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
aload 0
iload 1
invokevirtual org.apache.tomcat.util.buf.B2CConverter.convert:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;Lorg/apache/tomcat/util/buf/ByteChunk$ByteInputChannel;Z)V
15: aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.remaining:()I
ifne 17
iload 1
ifeq 17
16: iconst_m1
ireturn
17: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.remaining:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/catalina/connector/InputBuffer;
2 18 1 eof Z
4 6 2 nRead I
Exceptions:
throws java.io.IOException
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.closed:Z
ifeq 2
1: new java.io.IOException
dup
getstatic org.apache.catalina.connector.InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "inputBuffer.streamClosed"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.connector.InputBuffer.checkCharBufferEof:()Z
ifeq 4
3: iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.get:()C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/catalina/connector/InputBuffer;
Exceptions:
throws java.io.IOException
public int read(char[]);
descriptor: ([C)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.closed:Z
ifeq 2
1: new java.io.IOException
dup
getstatic org.apache.catalina.connector.InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "inputBuffer.streamClosed"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual org.apache.catalina.connector.InputBuffer.read:([CII)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/connector/InputBuffer;
0 3 1 cbuf [C
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cbuf
public int read(char[], int, int);
descriptor: ([CII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.closed:Z
ifeq 2
1: new java.io.IOException
dup
getstatic org.apache.catalina.connector.InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "inputBuffer.streamClosed"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.connector.InputBuffer.checkCharBufferEof:()Z
ifeq 4
3: iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.remaining:()I
invokestatic java.lang.Math.min:(II)I
istore 4
start local 4 5: aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
aload 1
iload 2
iload 4
invokevirtual java.nio.CharBuffer.get:([CII)Ljava/nio/CharBuffer;
pop
6: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/catalina/connector/InputBuffer;
0 7 1 cbuf [C
0 7 2 off I
0 7 3 len I
5 7 4 n I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cbuf
off
len
public long skip(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.closed:Z
ifeq 2
1: new java.io.IOException
dup
getstatic org.apache.catalina.connector.InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "inputBuffer.streamClosed"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
lload 1
lconst_0
lcmp
ifge 4
3: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
lconst_0
lstore 3
start local 3 5: goto 15
6: StackMap locals: long
StackMap stack:
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.remaining:()I
i2l
lload 1
lcmp
iflt 10
7: aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.position:()I
lload 1
l2i
iadd
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
8: lload 1
lstore 3
9: goto 15
10: StackMap locals:
StackMap stack:
lload 3
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.remaining:()I
i2l
ladd
lstore 3
11: aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.limit:()I
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
12: aload 0
invokevirtual org.apache.catalina.connector.InputBuffer.realReadChars:()I
istore 5
start local 5 13: iload 5
ifge 15
14: goto 16
end local 5 15: StackMap locals:
StackMap stack:
lload 3
lload 1
lcmp
iflt 6
16: StackMap locals:
StackMap stack:
lload 3
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/apache/catalina/connector/InputBuffer;
0 17 1 n J
5 17 3 nRead J
13 15 5 nb I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
n
public boolean ready();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.closed:Z
ifeq 2
1: new java.io.IOException
dup
getstatic org.apache.catalina.connector.InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "inputBuffer.streamClosed"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.connector.InputBuffer.state:I
ifne 4
3: aload 0
iconst_1
putfield org.apache.catalina.connector.InputBuffer.state:I
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.connector.InputBuffer.available:()I
ifle 5
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/catalina/connector/InputBuffer;
Exceptions:
throws java.io.IOException
public boolean markSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/connector/InputBuffer;
public void mark(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.closed:Z
ifeq 2
1: new java.io.IOException
dup
getstatic org.apache.catalina.connector.InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "inputBuffer.streamClosed"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.remaining:()I
ifgt 5
3: aload 0
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual org.apache.catalina.connector.InputBuffer.clear:(Ljava/nio/Buffer;)V
4: goto 8
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.capacity:()I
iconst_2
aload 0
getfield org.apache.catalina.connector.InputBuffer.size:I
imul
if_icmple 8
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.remaining:()I
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.position:()I
if_icmpge 8
6: aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.compact:()Ljava/nio/CharBuffer;
pop
7: aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/Buffer;
pop
8: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.position:()I
iload 1
iadd
aload 0
getfield org.apache.catalina.connector.InputBuffer.size:I
iadd
putfield org.apache.catalina.connector.InputBuffer.readLimit:I
9: aload 0
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.position:()I
putfield org.apache.catalina.connector.InputBuffer.markPos:I
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/catalina/connector/InputBuffer;
0 11 1 readAheadLimit I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
readAheadLimit
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.closed:Z
ifeq 2
1: new java.io.IOException
dup
getstatic org.apache.catalina.connector.InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "inputBuffer.streamClosed"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.connector.InputBuffer.state:I
iconst_1
if_icmpne 9
3: aload 0
getfield org.apache.catalina.connector.InputBuffer.markPos:I
ifge 7
4: aload 0
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual org.apache.catalina.connector.InputBuffer.clear:(Ljava/nio/Buffer;)V
5: aload 0
iconst_m1
putfield org.apache.catalina.connector.InputBuffer.markPos:I
6: new java.io.IOException
dup
invokespecial java.io.IOException.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
aload 0
getfield org.apache.catalina.connector.InputBuffer.markPos:I
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
invokevirtual org.apache.catalina.connector.InputBuffer.clear:(Ljava/nio/Buffer;)V
10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/catalina/connector/InputBuffer;
Exceptions:
throws java.io.IOException
public void checkConverter();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.conv:Lorg/apache/tomcat/util/buf/B2CConverter;
ifnull 2
1: return
2: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 3: aload 0
getfield org.apache.catalina.connector.InputBuffer.coyoteRequest:Lorg/apache/coyote/Request;
ifnull 5
4: aload 0
getfield org.apache.catalina.connector.InputBuffer.coyoteRequest:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.getCharset:()Ljava/nio/charset/Charset;
astore 1
5: StackMap locals: java.nio.charset.Charset
StackMap stack:
aload 1
ifnonnull 7
6: getstatic org.apache.coyote.Constants.DEFAULT_BODY_CHARSET:Ljava/nio/charset/Charset;
astore 1
7: StackMap locals:
StackMap stack:
getstatic org.apache.catalina.connector.InputBuffer.encoders:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.tomcat.util.collections.SynchronizedStack
astore 2
start local 2 8: aload 2
ifnonnull 12
9: new org.apache.tomcat.util.collections.SynchronizedStack
dup
invokespecial org.apache.tomcat.util.collections.SynchronizedStack.<init>:()V
astore 2
10: getstatic org.apache.catalina.connector.InputBuffer.encoders:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: getstatic org.apache.catalina.connector.InputBuffer.encoders:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.tomcat.util.collections.SynchronizedStack
astore 2
12: StackMap locals: org.apache.tomcat.util.collections.SynchronizedStack
StackMap stack:
aload 0
aload 2
invokevirtual org.apache.tomcat.util.collections.SynchronizedStack.pop:()Ljava/lang/Object;
checkcast org.apache.tomcat.util.buf.B2CConverter
putfield org.apache.catalina.connector.InputBuffer.conv:Lorg/apache/tomcat/util/buf/B2CConverter;
13: aload 0
getfield org.apache.catalina.connector.InputBuffer.conv:Lorg/apache/tomcat/util/buf/B2CConverter;
ifnonnull 15
14: aload 0
aload 1
invokestatic org.apache.catalina.connector.InputBuffer.createConverter:(Ljava/nio/charset/Charset;)Lorg/apache/tomcat/util/buf/B2CConverter;
putfield org.apache.catalina.connector.InputBuffer.conv:Lorg/apache/tomcat/util/buf/B2CConverter;
15: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/apache/catalina/connector/InputBuffer;
3 16 1 charset Ljava/nio/charset/Charset;
8 16 2 stack Lorg/apache/tomcat/util/collections/SynchronizedStack<Lorg/apache/tomcat/util/buf/B2CConverter;>;
Exceptions:
throws java.io.IOException
private static org.apache.tomcat.util.buf.B2CConverter createConverter(java.nio.charset.Charset);
descriptor: (Ljava/nio/charset/Charset;)Lorg/apache/tomcat/util/buf/B2CConverter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: invokestatic org.apache.catalina.security.SecurityUtil.isPackageProtectionEnabled:()Z
ifeq 8
1: new org.apache.catalina.connector.InputBuffer$PrivilegedCreateConverter
dup
aload 0
invokespecial org.apache.catalina.connector.InputBuffer$PrivilegedCreateConverter.<init>:(Ljava/nio/charset/Charset;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast org.apache.tomcat.util.buf.B2CConverter
2: areturn
3: StackMap locals:
StackMap stack: java.security.PrivilegedActionException
astore 1
start local 1 4: aload 1
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
astore 2
start local 2 5: aload 2
instanceof java.io.IOException
ifeq 7
6: aload 2
checkcast java.io.IOException
athrow
7: StackMap locals: java.security.PrivilegedActionException java.lang.Exception
StackMap stack:
new java.io.IOException
dup
aload 2
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 8: StackMap locals:
StackMap stack:
new org.apache.tomcat.util.buf.B2CConverter
dup
aload 0
invokespecial org.apache.tomcat.util.buf.B2CConverter.<init>:(Ljava/nio/charset/Charset;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 charset Ljava/nio/charset/Charset;
4 8 1 ex Ljava/security/PrivilegedActionException;
5 8 2 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.security.PrivilegedActionException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
charset
public void setByteBuffer(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/connector/InputBuffer;
0 2 1 buffer Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
buffer
public java.nio.ByteBuffer getByteBuffer();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/connector/InputBuffer;
public void expand(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/connector/InputBuffer;
0 1 1 size I
MethodParameters:
Name Flags
size
private boolean checkByteBufferEof();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.bb:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
ifne 4
1: aload 0
invokevirtual org.apache.catalina.connector.InputBuffer.realReadBytes:()I
istore 1
start local 1 2: iload 1
ifge 4
3: iconst_1
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/catalina/connector/InputBuffer;
2 4 1 n I
Exceptions:
throws java.io.IOException
private boolean checkCharBufferEof();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.remaining:()I
ifne 4
1: aload 0
invokevirtual org.apache.catalina.connector.InputBuffer.realReadChars:()I
istore 1
start local 1 2: iload 1
ifge 4
3: iconst_1
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/catalina/connector/InputBuffer;
2 4 1 n I
Exceptions:
throws java.io.IOException
private void clear(java.nio.Buffer);
descriptor: (Ljava/nio/Buffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.Buffer.rewind:()Ljava/nio/Buffer;
iconst_0
invokevirtual java.nio.Buffer.limit:(I)Ljava/nio/Buffer;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/connector/InputBuffer;
0 2 1 buffer Ljava/nio/Buffer;
MethodParameters:
Name Flags
buffer
private void makeSpace(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.limit:()I
iload 1
iadd
istore 2
start local 2 1: iload 2
aload 0
getfield org.apache.catalina.connector.InputBuffer.readLimit:I
if_icmple 3
2: aload 0
getfield org.apache.catalina.connector.InputBuffer.readLimit:I
istore 2
3: StackMap locals: int
StackMap stack:
iload 2
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.capacity:()I
if_icmpgt 5
4: return
5: StackMap locals:
StackMap stack:
iconst_2
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.capacity:()I
imul
istore 3
start local 3 6: iload 2
iload 3
if_icmplt 8
7: iconst_2
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.capacity:()I
imul
iload 1
iadd
istore 3
8: StackMap locals: int
StackMap stack:
iload 3
aload 0
getfield org.apache.catalina.connector.InputBuffer.readLimit:I
if_icmple 10
9: aload 0
getfield org.apache.catalina.connector.InputBuffer.readLimit:I
istore 3
10: StackMap locals:
StackMap stack:
iload 3
invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
astore 4
start local 4 11: aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.position:()I
istore 5
start local 5 12: aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
iconst_0
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
13: aload 4
aload 0
getfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.put:(Ljava/nio/CharBuffer;)Ljava/nio/CharBuffer;
pop
14: aload 4
invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/Buffer;
pop
15: aload 4
iload 5
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
16: aload 0
aload 4
putfield org.apache.catalina.connector.InputBuffer.cb:Ljava/nio/CharBuffer;
17: aconst_null
astore 4
18: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/apache/catalina/connector/InputBuffer;
0 19 1 count I
1 19 2 desiredSize I
6 19 3 newSize I
11 19 4 tmp Ljava/nio/CharBuffer;
12 19 5 oldPosition I
MethodParameters:
Name Flags
count
}
SourceFile: "InputBuffer.java"
NestMembers:
org.apache.catalina.connector.InputBuffer$PrivilegedCreateConverter
InnerClasses:
private PrivilegedCreateConverter = org.apache.catalina.connector.InputBuffer$PrivilegedCreateConverter of org.apache.catalina.connector.InputBuffer
public abstract ByteInputChannel = org.apache.tomcat.util.buf.ByteChunk$ByteInputChannel of org.apache.tomcat.util.buf.ByteChunk