public abstract class org.apache.tomcat.util.net.SocketWrapperBase<E>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.tomcat.util.net.SocketWrapperBase
super_class: java.lang.Object
{
private static final org.apache.juli.logging.Log log;
descriptor: Lorg/apache/juli/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
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 E socket;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Signature: TE;
private final org.apache.tomcat.util.net.AbstractEndpoint<E, ?> endpoint;
descriptor: Lorg/apache/tomcat/util/net/AbstractEndpoint;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/apache/tomcat/util/net/AbstractEndpoint<TE;*>;
protected final java.util.concurrent.atomic.AtomicBoolean closed;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private volatile long readTimeout;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile long writeTimeout;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile int keepAliveLeft;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private java.lang.String negotiatedProtocol;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
protected java.lang.String localAddr;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String localName;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected int localPort;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected java.lang.String remoteAddr;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String remoteHost;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected int remotePort;
descriptor: I
flags: (0x0004) ACC_PROTECTED
private volatile java.io.IOException error;
descriptor: Ljava/io/IOException;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
protected volatile org.apache.tomcat.util.net.SocketBufferHandler socketBufferHandler;
descriptor: Lorg/apache/tomcat/util/net/SocketBufferHandler;
flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE
protected int bufferedWriteSize;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected final org.apache.tomcat.util.net.WriteBuffer nonBlockingWriteBuffer;
descriptor: Lorg/apache/tomcat/util/net/WriteBuffer;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final java.util.concurrent.Semaphore readPending;
descriptor: Ljava/util/concurrent/Semaphore;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected volatile org.apache.tomcat.util.net.SocketWrapperBase<E>.OperationState<?> readOperation;
descriptor: Lorg/apache/tomcat/util/net/SocketWrapperBase$OperationState;
flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE
Signature: Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>.OperationState<*>;
protected final java.util.concurrent.Semaphore writePending;
descriptor: Ljava/util/concurrent/Semaphore;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected volatile org.apache.tomcat.util.net.SocketWrapperBase<E>.OperationState<?> writeOperation;
descriptor: Lorg/apache/tomcat/util/net/SocketWrapperBase$OperationState;
flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE
Signature: Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>.OperationState<*>;
protected java.lang.Object currentProcessor;
descriptor: Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
public static final org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck COMPLETE_WRITE;
descriptor: Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck COMPLETE_WRITE_WITH_COMPLETION;
descriptor: Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck READ_DATA;
descriptor: Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck COMPLETE_READ_WITH_COMPLETION;
descriptor: Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck COMPLETE_READ;
descriptor: Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/apache/tomcat/util/net/SocketWrapperBase;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
putstatic org.apache.tomcat.util.net.SocketWrapperBase.log:Lorg/apache/juli/logging/Log;
1: ldc Lorg/apache/tomcat/util/net/SocketWrapperBase;
invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
putstatic org.apache.tomcat.util.net.SocketWrapperBase.sm:Lorg/apache/tomcat/util/res/StringManager;
2: new org.apache.tomcat.util.net.SocketWrapperBase$1
dup
invokespecial org.apache.tomcat.util.net.SocketWrapperBase$1.<init>:()V
putstatic org.apache.tomcat.util.net.SocketWrapperBase.COMPLETE_WRITE:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;
3: new org.apache.tomcat.util.net.SocketWrapperBase$2
dup
invokespecial org.apache.tomcat.util.net.SocketWrapperBase$2.<init>:()V
putstatic org.apache.tomcat.util.net.SocketWrapperBase.COMPLETE_WRITE_WITH_COMPLETION:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;
4: new org.apache.tomcat.util.net.SocketWrapperBase$3
dup
invokespecial org.apache.tomcat.util.net.SocketWrapperBase$3.<init>:()V
putstatic org.apache.tomcat.util.net.SocketWrapperBase.READ_DATA:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;
5: getstatic org.apache.tomcat.util.net.SocketWrapperBase.COMPLETE_WRITE_WITH_COMPLETION:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;
putstatic org.apache.tomcat.util.net.SocketWrapperBase.COMPLETE_READ_WITH_COMPLETION:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;
6: getstatic org.apache.tomcat.util.net.SocketWrapperBase.COMPLETE_WRITE:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;
putstatic org.apache.tomcat.util.net.SocketWrapperBase.COMPLETE_READ:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(E, org.apache.tomcat.util.net.AbstractEndpoint<E, ?>);
descriptor: (Ljava/lang/Object;Lorg/apache/tomcat/util/net/AbstractEndpoint;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
putfield org.apache.tomcat.util.net.SocketWrapperBase.closed:Ljava/util/concurrent/atomic/AtomicBoolean;
2: aload 0
ldc -1
putfield org.apache.tomcat.util.net.SocketWrapperBase.readTimeout:J
3: aload 0
ldc -1
putfield org.apache.tomcat.util.net.SocketWrapperBase.writeTimeout:J
4: aload 0
bipush 100
putfield org.apache.tomcat.util.net.SocketWrapperBase.keepAliveLeft:I
5: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.negotiatedProtocol:Ljava/lang/String;
6: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.localAddr:Ljava/lang/String;
7: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.localName:Ljava/lang/String;
8: aload 0
iconst_m1
putfield org.apache.tomcat.util.net.SocketWrapperBase.localPort:I
9: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.remoteAddr:Ljava/lang/String;
10: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.remoteHost:Ljava/lang/String;
11: aload 0
iconst_m1
putfield org.apache.tomcat.util.net.SocketWrapperBase.remotePort:I
12: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.error:Ljava/io/IOException;
13: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
14: aload 0
ldc 65536
putfield org.apache.tomcat.util.net.SocketWrapperBase.bufferedWriteSize:I
15: aload 0
new org.apache.tomcat.util.net.WriteBuffer
dup
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.bufferedWriteSize:I
invokespecial org.apache.tomcat.util.net.WriteBuffer.<init>:(I)V
putfield org.apache.tomcat.util.net.SocketWrapperBase.nonBlockingWriteBuffer:Lorg/apache/tomcat/util/net/WriteBuffer;
16: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.readOperation:Lorg/apache/tomcat/util/net/SocketWrapperBase$OperationState;
17: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.writeOperation:Lorg/apache/tomcat/util/net/SocketWrapperBase$OperationState;
18: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.currentProcessor:Ljava/lang/Object;
19: aload 0
aload 1
putfield org.apache.tomcat.util.net.SocketWrapperBase.socket:Ljava/lang/Object;
20: aload 0
aload 2
putfield org.apache.tomcat.util.net.SocketWrapperBase.endpoint:Lorg/apache/tomcat/util/net/AbstractEndpoint;
21: aload 2
invokevirtual org.apache.tomcat.util.net.AbstractEndpoint.getUseAsyncIO:()Z
ifne 22
aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.needSemaphores:()Z
ifeq 25
22: StackMap locals: org.apache.tomcat.util.net.SocketWrapperBase java.lang.Object org.apache.tomcat.util.net.AbstractEndpoint
StackMap stack:
aload 0
new java.util.concurrent.Semaphore
dup
iconst_1
invokespecial java.util.concurrent.Semaphore.<init>:(I)V
putfield org.apache.tomcat.util.net.SocketWrapperBase.readPending:Ljava/util/concurrent/Semaphore;
23: aload 0
new java.util.concurrent.Semaphore
dup
iconst_1
invokespecial java.util.concurrent.Semaphore.<init>:(I)V
putfield org.apache.tomcat.util.net.SocketWrapperBase.writePending:Ljava/util/concurrent/Semaphore;
24: goto 27
25: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.readPending:Ljava/util/concurrent/Semaphore;
26: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.writePending:Ljava/util/concurrent/Semaphore;
27: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 28 1 socket TE;
0 28 2 endpoint Lorg/apache/tomcat/util/net/AbstractEndpoint<TE;*>;
Signature: (TE;Lorg/apache/tomcat/util/net/AbstractEndpoint<TE;*>;)V
MethodParameters:
Name Flags
socket
endpoint
public E getSocket();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socket:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
Signature: ()TE;
protected void reset();
descriptor: (Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.tomcat.util.net.SocketWrapperBase.socket:Ljava/lang/Object;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 2 1 closedSocket TE;
Signature: (TE;)V
MethodParameters:
Name Flags
closedSocket
protected org.apache.tomcat.util.net.AbstractEndpoint<E, ?> getEndpoint();
descriptor: ()Lorg/apache/tomcat/util/net/AbstractEndpoint;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.endpoint:Lorg/apache/tomcat/util/net/AbstractEndpoint;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
Signature: ()Lorg/apache/tomcat/util/net/AbstractEndpoint<TE;*>;
public java.lang.Object getCurrentProcessor();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.currentProcessor:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public void setCurrentProcessor(java.lang.Object);
descriptor: (Ljava/lang/Object;)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.tomcat.util.net.SocketWrapperBase.currentProcessor:Ljava/lang/Object;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 2 1 currentProcessor Ljava/lang/Object;
MethodParameters:
Name Flags
currentProcessor
public void execute(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.endpoint:Lorg/apache/tomcat/util/net/AbstractEndpoint;
invokevirtual org.apache.tomcat.util.net.AbstractEndpoint.getExecutor:()Ljava/util/concurrent/Executor;
astore 2
start local 2 1: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.endpoint:Lorg/apache/tomcat/util/net/AbstractEndpoint;
invokevirtual org.apache.tomcat.util.net.AbstractEndpoint.isRunning:()Z
ifeq 2
aload 2
ifnonnull 3
2: StackMap locals: java.util.concurrent.Executor
StackMap stack:
new java.util.concurrent.RejectedExecutionException
dup
invokespecial java.util.concurrent.RejectedExecutionException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 2
aload 1
invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 5 1 runnable Ljava/lang/Runnable;
1 5 2 executor Ljava/util/concurrent/Executor;
MethodParameters:
Name Flags
runnable
public java.io.IOException getError();
descriptor: ()Ljava/io/IOException;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.error:Ljava/io/IOException;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public void setError(java.io.IOException);
descriptor: (Ljava/io/IOException;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.error:Ljava/io/IOException;
ifnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.apache.tomcat.util.net.SocketWrapperBase.error:Ljava/io/IOException;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 4 1 error Ljava/io/IOException;
MethodParameters:
Name Flags
error
public void checkError();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.error:Ljava/io/IOException;
ifnull 2
1: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.error:Ljava/io/IOException;
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
Exceptions:
throws java.io.IOException
public java.lang.String getNegotiatedProtocol();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.negotiatedProtocol:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public void setNegotiatedProtocol(java.lang.String);
descriptor: (Ljava/lang/String;)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.tomcat.util.net.SocketWrapperBase.negotiatedProtocol:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 2 1 negotiatedProtocol Ljava/lang/String;
MethodParameters:
Name Flags
negotiatedProtocol
public void setReadTimeout(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifle 3
1: aload 0
lload 1
putfield org.apache.tomcat.util.net.SocketWrapperBase.readTimeout:J
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
ldc -1
putfield org.apache.tomcat.util.net.SocketWrapperBase.readTimeout:J
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 5 1 readTimeout J
MethodParameters:
Name Flags
readTimeout
public long getReadTimeout();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.readTimeout:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public void setWriteTimeout(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifle 3
1: aload 0
lload 1
putfield org.apache.tomcat.util.net.SocketWrapperBase.writeTimeout:J
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
ldc -1
putfield org.apache.tomcat.util.net.SocketWrapperBase.writeTimeout:J
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 5 1 writeTimeout J
MethodParameters:
Name Flags
writeTimeout
public long getWriteTimeout();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.writeTimeout:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public void setKeepAliveLeft(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
iload 1
putfield org.apache.tomcat.util.net.SocketWrapperBase.keepAliveLeft:I
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 1 1 keepAliveLeft I
MethodParameters:
Name Flags
keepAliveLeft
public int decrementKeepAlive();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield org.apache.tomcat.util.net.SocketWrapperBase.keepAliveLeft:I
iconst_1
isub
dup_x1
putfield org.apache.tomcat.util.net.SocketWrapperBase.keepAliveLeft:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public java.lang.String getRemoteHost();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.remoteHost:Ljava/lang/String;
ifnonnull 2
1: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.populateRemoteHost:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.remoteHost:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
protected abstract void populateRemoteHost();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public java.lang.String getRemoteAddr();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.remoteAddr:Ljava/lang/String;
ifnonnull 2
1: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.populateRemoteAddr:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.remoteAddr:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
protected abstract void populateRemoteAddr();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public int getRemotePort();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.remotePort:I
iconst_m1
if_icmpne 2
1: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.populateRemotePort:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.remotePort:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
protected abstract void populateRemotePort();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public java.lang.String getLocalName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.localName:Ljava/lang/String;
ifnonnull 2
1: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.populateLocalName:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.localName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
protected abstract void populateLocalName();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public java.lang.String getLocalAddr();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.localAddr:Ljava/lang/String;
ifnonnull 2
1: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.populateLocalAddr:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.localAddr:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
protected abstract void populateLocalAddr();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public int getLocalPort();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.localPort:I
iconst_m1
if_icmpne 2
1: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.populateLocalPort:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.localPort:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
protected abstract void populateLocalPort();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public org.apache.tomcat.util.net.SocketBufferHandler getSocketBufferHandler();
descriptor: ()Lorg/apache/tomcat/util/net/SocketBufferHandler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public boolean hasDataToRead();
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/tomcat/util/net/SocketWrapperBase<TE;>;
public boolean hasDataToWrite();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.isWriteBufferEmpty:()Z
ifeq 1
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.nonBlockingWriteBuffer:Lorg/apache/tomcat/util/net/WriteBuffer;
invokevirtual org.apache.tomcat.util.net.WriteBuffer.isEmpty:()Z
ifeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public boolean isReadyForWrite();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.canWrite:()Z
istore 1
start local 1 1: iload 1
ifne 3
2: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.registerWriteInterest:()V
3: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
1 4 1 result Z
public boolean canWrite();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
getstatic org.apache.tomcat.util.net.SocketWrapperBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "socket.closed"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.isWriteBufferWritable:()Z
ifeq 3
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.nonBlockingWriteBuffer:Lorg/apache/tomcat/util/net/WriteBuffer;
invokevirtual org.apache.tomcat.util.net.WriteBuffer.isEmpty:()Z
ifeq 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokespecial java.lang.Object.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socket:Ljava/lang/Object;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public abstract int read(boolean, byte[], int, int);
descriptor: (Z[BII)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
block
b
off
len
public abstract int read(boolean, java.nio.ByteBuffer);
descriptor: (ZLjava/nio/ByteBuffer;)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
block
to
public abstract boolean isReadyForRead();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
public abstract void setAppReadBufHandler(org.apache.tomcat.util.net.ApplicationBufferHandler);
descriptor: (Lorg/apache/tomcat/util/net/ApplicationBufferHandler;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
handler
protected int populateReadBuffer(byte[], int, int);
descriptor: ([BII)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.configureReadBufferForRead:()V
1: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.getReadBuffer:()Ljava/nio/ByteBuffer;
astore 4
start local 4 2: aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 5
start local 5 3: iload 5
ifle 8
4: iload 5
iload 3
invokestatic java.lang.Math.min:(II)I
istore 5
5: aload 4
aload 1
iload 2
iload 5
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
6: getstatic org.apache.tomcat.util.net.SocketWrapperBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 8
7: getstatic org.apache.tomcat.util.net.SocketWrapperBase.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Socket: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "], Read from buffer: ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
8: StackMap locals: java.nio.ByteBuffer int
StackMap stack:
iload 5
ireturn
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 9 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 9 1 b [B
0 9 2 off I
0 9 3 len I
2 9 4 readBuffer Ljava/nio/ByteBuffer;
3 9 5 remaining I
MethodParameters:
Name Flags
b
off
len
protected int populateReadBuffer(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.configureReadBufferForRead:()V
1: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.getReadBuffer:()Ljava/nio/ByteBuffer;
aload 1
invokestatic org.apache.tomcat.util.net.SocketWrapperBase.transfer:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
istore 2
start local 2 2: getstatic org.apache.tomcat.util.net.SocketWrapperBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 4
3: getstatic org.apache.tomcat.util.net.SocketWrapperBase.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Socket: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "], Read from buffer: ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
4: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 5 1 to Ljava/nio/ByteBuffer;
2 5 2 nRead I
MethodParameters:
Name Flags
to
public void unRead(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 1
ifnull 2
1: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
aload 1
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.unReadReadBuffer:(Ljava/nio/ByteBuffer;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 3 1 returnedInput Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
returnedInput
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.closed:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ifeq 15
1: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.getEndpoint:()Lorg/apache/tomcat/util/net/AbstractEndpoint;
invokevirtual org.apache.tomcat.util.net.AbstractEndpoint.getHandler:()Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler;
aload 0
invokeinterface org.apache.tomcat.util.net.AbstractEndpoint$Handler.release:(Lorg/apache/tomcat/util/net/SocketWrapperBase;)V
2: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 1
start local 1 4: aload 1
invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
5: getstatic org.apache.tomcat.util.net.SocketWrapperBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 7
6: getstatic org.apache.tomcat.util.net.SocketWrapperBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.tomcat.util.net.SocketWrapperBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "endpoint.debug.handlerRelease"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 1
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 1 7: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.getEndpoint:()Lorg/apache/tomcat/util/net/AbstractEndpoint;
invokevirtual org.apache.tomcat.util.net.AbstractEndpoint.countDownConnection:()J
pop2
8: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doClose:()V
goto 15
9: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
10: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.getEndpoint:()Lorg/apache/tomcat/util/net/AbstractEndpoint;
invokevirtual org.apache.tomcat.util.net.AbstractEndpoint.countDownConnection:()J
pop2
11: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doClose:()V
12: aload 2
athrow
13: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.getEndpoint:()Lorg/apache/tomcat/util/net/AbstractEndpoint;
invokevirtual org.apache.tomcat.util.net.AbstractEndpoint.countDownConnection:()J
pop2
14: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doClose:()V
15: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
4 7 1 e Ljava/lang/Throwable;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
1 7 9 any
protected abstract void doClose();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public boolean isClosed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.closed:Ljava/util/concurrent/atomic/AtomicBoolean;
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public final void write(boolean, byte[], int, int);
descriptor: (Z[BII)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
ifeq 1
aload 2
ifnonnull 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
iload 1
ifeq 5
3: aload 0
aload 2
iload 3
iload 4
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking:([BII)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 3
iload 4
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.writeNonBlocking:([BII)V
6: StackMap locals:
StackMap stack:
return
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/tomcat/util/net/SocketWrapperBase<TE;>;
0 7 1 block Z
0 7 2 buf [B
0 7 3 off I
0 7 4 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
block
buf
off
len
public final void write(boolean, java.nio.ByteBuffer);
descriptor: (ZLjava/nio/ByteBuffer;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 1
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
ifne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
iload 1
ifeq 5
3: aload 0
aload 2
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking:(Ljava/nio/ByteBuffer;)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.writeNonBlocking:(Ljava/nio/ByteBuffer;)V
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 7 1 block Z
0 7 2 from Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
block
from
protected void writeBlocking(byte[], int, int);
descriptor: ([BII)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifle 11
1: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.configureWriteBufferForWrite:()V
2: aload 1
iload 2
iload 3
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.getWriteBuffer:()Ljava/nio/ByteBuffer;
invokestatic org.apache.tomcat.util.net.SocketWrapperBase.transfer:([BIILjava/nio/ByteBuffer;)I
istore 4
start local 4 3: iload 3
iload 4
isub
istore 3
4: goto 10
5: StackMap locals: int
StackMap stack:
iload 2
iload 4
iadd
istore 2
6: aload 0
iconst_1
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doWrite:(Z)V
7: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.configureWriteBufferForWrite:()V
8: aload 1
iload 2
iload 3
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.getWriteBuffer:()Ljava/nio/ByteBuffer;
invokestatic org.apache.tomcat.util.net.SocketWrapperBase.transfer:([BIILjava/nio/ByteBuffer;)I
istore 4
9: iload 3
iload 4
isub
istore 3
10: StackMap locals:
StackMap stack:
iload 3
ifgt 5
end local 4 11: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 12 1 buf [B
0 12 2 off I
0 12 3 len I
3 11 4 thisTime I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
off
len
protected void writeBlocking(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 8
1: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.configureWriteBufferForWrite:()V
2: aload 1
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.getWriteBuffer:()Ljava/nio/ByteBuffer;
invokestatic org.apache.tomcat.util.net.SocketWrapperBase.transfer:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
pop
3: goto 7
4: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doWrite:(Z)V
5: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.configureWriteBufferForWrite:()V
6: aload 1
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.getWriteBuffer:()Ljava/nio/ByteBuffer;
invokestatic org.apache.tomcat.util.net.SocketWrapperBase.transfer:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
pop
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 4
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 9 1 from Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
from
protected void writeNonBlocking(byte[], int, int);
descriptor: ([BII)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifle 14
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.nonBlockingWriteBuffer:Lorg/apache/tomcat/util/net/WriteBuffer;
invokevirtual org.apache.tomcat.util.net.WriteBuffer.isEmpty:()Z
ifeq 14
1: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.isWriteBufferWritable:()Z
ifeq 14
2: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.configureWriteBufferForWrite:()V
3: aload 1
iload 2
iload 3
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.getWriteBuffer:()Ljava/nio/ByteBuffer;
invokestatic org.apache.tomcat.util.net.SocketWrapperBase.transfer:([BIILjava/nio/ByteBuffer;)I
istore 4
start local 4 4: iload 3
iload 4
isub
istore 3
5: goto 13
6: StackMap locals: int
StackMap stack:
iload 2
iload 4
iadd
istore 2
7: aload 0
iconst_0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doWrite:(Z)V
8: iload 3
ifle 14
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.isWriteBufferWritable:()Z
ifeq 14
9: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.configureWriteBufferForWrite:()V
10: aload 1
iload 2
iload 3
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.getWriteBuffer:()Ljava/nio/ByteBuffer;
invokestatic org.apache.tomcat.util.net.SocketWrapperBase.transfer:([BIILjava/nio/ByteBuffer;)I
istore 4
11: iload 3
12: iload 4
isub
istore 3
13: StackMap locals:
StackMap stack:
iload 3
ifgt 6
end local 4 14: StackMap locals:
StackMap stack:
iload 3
ifle 16
15: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.nonBlockingWriteBuffer:Lorg/apache/tomcat/util/net/WriteBuffer;
aload 1
iload 2
iload 3
invokevirtual org.apache.tomcat.util.net.WriteBuffer.add:([BII)V
16: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 17 1 buf [B
0 17 2 off I
0 17 3 len I
4 14 4 thisTime I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
off
len
protected void writeNonBlocking(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 3
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.nonBlockingWriteBuffer:Lorg/apache/tomcat/util/net/WriteBuffer;
invokevirtual org.apache.tomcat.util.net.WriteBuffer.isEmpty:()Z
ifeq 3
1: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.isWriteBufferWritable:()Z
ifeq 3
2: aload 0
aload 1
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.writeNonBlockingInternal:(Ljava/nio/ByteBuffer;)V
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 5
4: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.nonBlockingWriteBuffer:Lorg/apache/tomcat/util/net/WriteBuffer;
aload 1
invokevirtual org.apache.tomcat.util.net.WriteBuffer.add:(Ljava/nio/ByteBuffer;)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/tomcat/util/net/SocketWrapperBase<TE;>;
0 6 1 from Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
from
protected void writeNonBlockingInternal(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.configureWriteBufferForWrite:()V
1: aload 1
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.getWriteBuffer:()Ljava/nio/ByteBuffer;
invokestatic org.apache.tomcat.util.net.SocketWrapperBase.transfer:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
pop
2: goto 7
3: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doWrite:(Z)V
4: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.isWriteBufferWritable:()Z
ifeq 8
5: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.configureWriteBufferForWrite:()V
6: aload 1
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.getWriteBuffer:()Ljava/nio/ByteBuffer;
invokestatic org.apache.tomcat.util.net.SocketWrapperBase.transfer:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
pop
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 3
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 9 1 from Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
from
public boolean flush(boolean);
descriptor: (Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iload 1
ifeq 4
2: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.flushBlocking:()V
3: goto 5
4: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.flushNonBlocking:()Z
istore 2
5: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 6 1 block Z
1 6 2 result Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
block
protected void flushBlocking();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doWrite:(Z)V
1: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.nonBlockingWriteBuffer:Lorg/apache/tomcat/util/net/WriteBuffer;
invokevirtual org.apache.tomcat.util.net.WriteBuffer.isEmpty:()Z
ifne 5
2: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.nonBlockingWriteBuffer:Lorg/apache/tomcat/util/net/WriteBuffer;
aload 0
iconst_1
invokevirtual org.apache.tomcat.util.net.WriteBuffer.write:(Lorg/apache/tomcat/util/net/SocketWrapperBase;Z)Z
pop
3: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.isWriteBufferEmpty:()Z
ifne 5
4: aload 0
iconst_1
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doWrite:(Z)V
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
Exceptions:
throws java.io.IOException
protected boolean flushNonBlocking();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.isWriteBufferEmpty:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: istore 1
start local 1 3: iload 1
ifeq 8
4: aload 0
iconst_0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doWrite:(Z)V
5: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.isWriteBufferEmpty:()Z
ifeq 6
iconst_0
goto 7
StackMap locals: int
StackMap stack:
6: iconst_1
StackMap locals:
StackMap stack: int
7: istore 1
8: StackMap locals:
StackMap stack:
iload 1
ifne 15
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.nonBlockingWriteBuffer:Lorg/apache/tomcat/util/net/WriteBuffer;
invokevirtual org.apache.tomcat.util.net.WriteBuffer.isEmpty:()Z
ifne 15
9: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.nonBlockingWriteBuffer:Lorg/apache/tomcat/util/net/WriteBuffer;
aload 0
iconst_0
invokevirtual org.apache.tomcat.util.net.WriteBuffer.write:(Lorg/apache/tomcat/util/net/SocketWrapperBase;Z)Z
istore 1
10: iload 1
ifne 15
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.isWriteBufferEmpty:()Z
ifne 15
11: aload 0
iconst_0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doWrite:(Z)V
12: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.isWriteBufferEmpty:()Z
ifeq 13
iconst_0
goto 14
StackMap locals:
StackMap stack:
13: iconst_1
StackMap locals:
StackMap stack: int
14: istore 1
15: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
3 16 1 dataLeft Z
Exceptions:
throws java.io.IOException
protected void doWrite(boolean);
descriptor: (Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.configureWriteBufferForRead:()V
1: aload 0
iload 1
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.getWriteBuffer:()Ljava/nio/ByteBuffer;
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doWrite:(ZLjava/nio/ByteBuffer;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 3 1 block Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
block
protected abstract void doWrite(boolean, java.nio.ByteBuffer);
descriptor: (ZLjava/nio/ByteBuffer;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
block
from
public void processSocket(org.apache.tomcat.util.net.SocketEvent, boolean);
descriptor: (Lorg/apache/tomcat/util/net/SocketEvent;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.endpoint:Lorg/apache/tomcat/util/net/AbstractEndpoint;
aload 0
aload 1
iload 2
invokevirtual org.apache.tomcat.util.net.AbstractEndpoint.processSocket:(Lorg/apache/tomcat/util/net/SocketWrapperBase;Lorg/apache/tomcat/util/net/SocketEvent;Z)Z
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 2 1 socketStatus Lorg/apache/tomcat/util/net/SocketEvent;
0 2 2 dispatch Z
MethodParameters:
Name Flags
socketStatus
dispatch
public abstract void registerReadInterest();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract void registerWriteInterest();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract org.apache.tomcat.util.net.SendfileDataBase createSendfileData(java.lang.String, long, long);
descriptor: (Ljava/lang/String;JJ)Lorg/apache/tomcat/util/net/SendfileDataBase;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
filename
pos
length
public abstract org.apache.tomcat.util.net.SendfileState processSendfile(org.apache.tomcat.util.net.SendfileDataBase);
descriptor: (Lorg/apache/tomcat/util/net/SendfileDataBase;)Lorg/apache/tomcat/util/net/SendfileState;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
sendfileData
public abstract void doClientAuth(org.apache.tomcat.util.net.SSLSupport);
descriptor: (Lorg/apache/tomcat/util/net/SSLSupport;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sslSupport
public abstract org.apache.tomcat.util.net.SSLSupport getSslSupport(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/apache/tomcat/util/net/SSLSupport;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
clientCertProvider
public boolean hasAsyncIO();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.readPending:Ljava/util/concurrent/Semaphore;
ifnull 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/tomcat/util/net/SocketWrapperBase<TE;>;
public boolean needSemaphores();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public boolean hasPerOperationTimeout();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public boolean isReadPending();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public boolean isWritePending();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public final <A> org.apache.tomcat.util.net.SocketWrapperBase$CompletionState read(long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>, java.nio.ByteBuffer[]);
descriptor: (JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;[Ljava/nio/ByteBuffer;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
flags: (0x0091) ACC_PUBLIC, ACC_FINAL, ACC_VARARGS
Code:
stack=11, locals=7, args_size=6
start local 0 start local 1 start local 3 start local 4 start local 5 start local 6 0: aload 6
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 6
iconst_0
aload 6
arraylength
getstatic org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode.CLASSIC:Lorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;
lload 1
aload 3
aload 4
aconst_null
aload 5
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.read:([Ljava/nio/ByteBuffer;IILorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
areturn
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 3 1 timeout J
0 3 3 unit Ljava/util/concurrent/TimeUnit;
0 3 4 attachment TA;
0 3 5 handler Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;
0 3 6 dsts [Ljava/nio/ByteBuffer;
Signature: <A:Ljava/lang/Object;>(JLjava/util/concurrent/TimeUnit;TA;Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;[Ljava/nio/ByteBuffer;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
MethodParameters:
Name Flags
timeout
unit
attachment
handler
dsts
public final <A> org.apache.tomcat.util.net.SocketWrapperBase$CompletionState read(org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode, long, java.util.concurrent.TimeUnit, A, org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>, java.nio.ByteBuffer[]);
descriptor: (Lorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler;[Ljava/nio/ByteBuffer;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
flags: (0x0091) ACC_PUBLIC, ACC_FINAL, ACC_VARARGS
Code:
stack=11, locals=9, args_size=8
start local 0 start local 1 start local 2 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 8
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 8
iconst_0
aload 8
arraylength
aload 1
lload 2
aload 4
aload 5
aload 6
aload 7
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.read:([Ljava/nio/ByteBuffer;IILorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 3 1 block Lorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;
0 3 2 timeout J
0 3 4 unit Ljava/util/concurrent/TimeUnit;
0 3 5 attachment TA;
0 3 6 check Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;
0 3 7 handler Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;
0 3 8 dsts [Ljava/nio/ByteBuffer;
Signature: <A:Ljava/lang/Object;>(Lorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;TA;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;[Ljava/nio/ByteBuffer;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
MethodParameters:
Name Flags
block
timeout
unit
attachment
check
handler
dsts
public final <A> org.apache.tomcat.util.net.SocketWrapperBase$CompletionState read(java.nio.ByteBuffer[], int, int, org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode, long, java.util.concurrent.TimeUnit, A, org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>);
descriptor: ([Ljava/nio/ByteBuffer;IILorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=12, locals=11, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 7 start local 8 start local 9 start local 10 0: aload 0
iconst_1
aload 1
iload 2
iload 3
aload 4
lload 5
aload 7
aload 8
aload 9
aload 10
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.vectoredOperation:(Z[Ljava/nio/ByteBuffer;IILorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
areturn
end local 10 end local 9 end local 8 end local 7 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 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 1 1 dsts [Ljava/nio/ByteBuffer;
0 1 2 offset I
0 1 3 length I
0 1 4 block Lorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;
0 1 5 timeout J
0 1 7 unit Ljava/util/concurrent/TimeUnit;
0 1 8 attachment TA;
0 1 9 check Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;
0 1 10 handler Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;
Signature: <A:Ljava/lang/Object;>([Ljava/nio/ByteBuffer;IILorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;TA;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
MethodParameters:
Name Flags
dsts
offset
length
block
timeout
unit
attachment
check
handler
public final <A> org.apache.tomcat.util.net.SocketWrapperBase$CompletionState write(long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>, java.nio.ByteBuffer[]);
descriptor: (JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;[Ljava/nio/ByteBuffer;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
flags: (0x0091) ACC_PUBLIC, ACC_FINAL, ACC_VARARGS
Code:
stack=11, locals=7, args_size=6
start local 0 start local 1 start local 3 start local 4 start local 5 start local 6 0: aload 6
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 6
iconst_0
aload 6
arraylength
getstatic org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode.CLASSIC:Lorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;
lload 1
aload 3
aload 4
aconst_null
aload 5
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.write:([Ljava/nio/ByteBuffer;IILorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
areturn
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 3 1 timeout J
0 3 3 unit Ljava/util/concurrent/TimeUnit;
0 3 4 attachment TA;
0 3 5 handler Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;
0 3 6 srcs [Ljava/nio/ByteBuffer;
Signature: <A:Ljava/lang/Object;>(JLjava/util/concurrent/TimeUnit;TA;Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;[Ljava/nio/ByteBuffer;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
MethodParameters:
Name Flags
timeout
unit
attachment
handler
srcs
public final <A> org.apache.tomcat.util.net.SocketWrapperBase$CompletionState write(org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode, long, java.util.concurrent.TimeUnit, A, org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>, java.nio.ByteBuffer[]);
descriptor: (Lorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler;[Ljava/nio/ByteBuffer;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
flags: (0x0091) ACC_PUBLIC, ACC_FINAL, ACC_VARARGS
Code:
stack=11, locals=9, args_size=8
start local 0 start local 1 start local 2 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 8
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 8
iconst_0
aload 8
arraylength
aload 1
lload 2
aload 4
aload 5
aload 6
aload 7
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.write:([Ljava/nio/ByteBuffer;IILorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 3 1 block Lorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;
0 3 2 timeout J
0 3 4 unit Ljava/util/concurrent/TimeUnit;
0 3 5 attachment TA;
0 3 6 check Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;
0 3 7 handler Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;
0 3 8 srcs [Ljava/nio/ByteBuffer;
Signature: <A:Ljava/lang/Object;>(Lorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;TA;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;[Ljava/nio/ByteBuffer;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
MethodParameters:
Name Flags
block
timeout
unit
attachment
check
handler
srcs
public final <A> org.apache.tomcat.util.net.SocketWrapperBase$CompletionState write(java.nio.ByteBuffer[], int, int, org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode, long, java.util.concurrent.TimeUnit, A, org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>);
descriptor: ([Ljava/nio/ByteBuffer;IILorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=12, locals=11, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 7 start local 8 start local 9 start local 10 0: aload 0
iconst_0
aload 1
iload 2
iload 3
aload 4
lload 5
aload 7
aload 8
aload 9
aload 10
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.vectoredOperation:(Z[Ljava/nio/ByteBuffer;IILorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
areturn
end local 10 end local 9 end local 8 end local 7 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 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 1 1 srcs [Ljava/nio/ByteBuffer;
0 1 2 offset I
0 1 3 length I
0 1 4 block Lorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;
0 1 5 timeout J
0 1 7 unit Ljava/util/concurrent/TimeUnit;
0 1 8 attachment TA;
0 1 9 check Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;
0 1 10 handler Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;
Signature: <A:Ljava/lang/Object;>([Ljava/nio/ByteBuffer;IILorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;TA;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
MethodParameters:
Name Flags
srcs
offset
length
block
timeout
unit
attachment
check
handler
protected final <A> org.apache.tomcat.util.net.SocketWrapperBase$CompletionState vectoredOperation(boolean, java.nio.ByteBuffer[], int, int, org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode, long, java.util.concurrent.TimeUnit, A, org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>);
descriptor: (Z[Ljava/nio/ByteBuffer;IILorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=14, locals=16, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 8 start local 9 start local 10 start local 11 0: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.getError:()Ljava/io/IOException;
astore 12
start local 12 1: aload 12
ifnull 4
2: aload 11
aload 12
aload 9
invokeinterface java.nio.channels.CompletionHandler.failed:(Ljava/lang/Throwable;Ljava/lang/Object;)V
3: getstatic org.apache.tomcat.util.net.SocketWrapperBase$CompletionState.ERROR:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
areturn
4: StackMap locals: java.io.IOException
StackMap stack:
lload 6
ldc -1
lcmp
ifne 10
5: iload 1
ifeq 6
aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.getReadTimeout:()J
goto 7
StackMap locals:
StackMap stack:
6: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.getWriteTimeout:()J
StackMap locals:
StackMap stack: long
7: invokestatic org.apache.tomcat.util.net.AbstractEndpoint.toTimeout:(J)J
lstore 6
8: getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
astore 8
9: goto 17
StackMap locals:
StackMap stack:
10: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.hasPerOperationTimeout:()Z
ifne 17
aload 8
lload 6
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
iload 1
ifeq 11
aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.getReadTimeout:()J
goto 12
StackMap locals:
StackMap stack: long
11: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.getWriteTimeout:()J
StackMap locals: org.apache.tomcat.util.net.SocketWrapperBase int java.nio.ByteBuffer[] int int org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode long java.util.concurrent.TimeUnit java.lang.Object org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck java.nio.channels.CompletionHandler java.io.IOException
StackMap stack: long long
12: lcmp
ifeq 17
13: iload 1
ifeq 16
14: aload 0
aload 8
lload 6
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.setReadTimeout:(J)V
15: goto 17
16: StackMap locals:
StackMap stack:
aload 0
aload 8
lload 6
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.setWriteTimeout:(J)V
17: StackMap locals:
StackMap stack:
aload 5
getstatic org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode.BLOCK:Lorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;
if_acmpeq 18
aload 5
getstatic org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode.SEMI_BLOCK:Lorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;
if_acmpne 26
18: StackMap locals:
StackMap stack:
iload 1
ifeq 19
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.readPending:Ljava/util/concurrent/Semaphore;
lload 6
aload 8
invokevirtual java.util.concurrent.Semaphore.tryAcquire:(JLjava/util/concurrent/TimeUnit;)Z
ifne 34
goto 20
StackMap locals:
StackMap stack:
19: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.writePending:Ljava/util/concurrent/Semaphore;
lload 6
aload 8
invokevirtual java.util.concurrent.Semaphore.tryAcquire:(JLjava/util/concurrent/TimeUnit;)Z
ifne 34
20: StackMap locals:
StackMap stack:
aload 11
new java.net.SocketTimeoutException
dup
invokespecial java.net.SocketTimeoutException.<init>:()V
aload 9
invokeinterface java.nio.channels.CompletionHandler.failed:(Ljava/lang/Throwable;Ljava/lang/Object;)V
21: getstatic org.apache.tomcat.util.net.SocketWrapperBase$CompletionState.ERROR:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
22: areturn
23: StackMap locals:
StackMap stack: java.lang.InterruptedException
astore 13
start local 13 24: aload 11
aload 13
aload 9
invokeinterface java.nio.channels.CompletionHandler.failed:(Ljava/lang/Throwable;Ljava/lang/Object;)V
25: getstatic org.apache.tomcat.util.net.SocketWrapperBase$CompletionState.ERROR:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
areturn
end local 13 26: StackMap locals:
StackMap stack:
iload 1
ifeq 27
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.readPending:Ljava/util/concurrent/Semaphore;
invokevirtual java.util.concurrent.Semaphore.tryAcquire:()Z
ifne 34
goto 28
StackMap locals:
StackMap stack:
27: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.writePending:Ljava/util/concurrent/Semaphore;
invokevirtual java.util.concurrent.Semaphore.tryAcquire:()Z
ifne 34
28: StackMap locals:
StackMap stack:
aload 5
getstatic org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode.NON_BLOCK:Lorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;
if_acmpne 30
29: getstatic org.apache.tomcat.util.net.SocketWrapperBase$CompletionState.NOT_DONE:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
areturn
30: StackMap locals:
StackMap stack:
aload 11
iload 1
ifeq 31
new java.nio.channels.ReadPendingException
dup
invokespecial java.nio.channels.ReadPendingException.<init>:()V
goto 32
StackMap locals:
StackMap stack: java.nio.channels.CompletionHandler
31: new java.nio.channels.WritePendingException
dup
invokespecial java.nio.channels.WritePendingException.<init>:()V
StackMap locals: org.apache.tomcat.util.net.SocketWrapperBase int java.nio.ByteBuffer[] int int org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode long java.util.concurrent.TimeUnit java.lang.Object org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck java.nio.channels.CompletionHandler java.io.IOException
StackMap stack: java.nio.channels.CompletionHandler java.lang.IllegalStateException
32: aload 9
invokeinterface java.nio.channels.CompletionHandler.failed:(Ljava/lang/Throwable;Ljava/lang/Object;)V
33: getstatic org.apache.tomcat.util.net.SocketWrapperBase$CompletionState.ERROR:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
areturn
34: StackMap locals:
StackMap stack:
new org.apache.tomcat.util.net.SocketWrapperBase$VectoredIOCompletionHandler
dup
aload 0
invokespecial org.apache.tomcat.util.net.SocketWrapperBase$VectoredIOCompletionHandler.<init>:(Lorg/apache/tomcat/util/net/SocketWrapperBase;)V
astore 13
start local 13 35: aload 0
iload 1
aload 2
iload 3
iload 4
aload 5
lload 6
aload 8
36: aload 9
aload 10
aload 11
iload 1
ifeq 37
aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.readPending:Ljava/util/concurrent/Semaphore;
goto 38
StackMap locals: org.apache.tomcat.util.net.SocketWrapperBase int java.nio.ByteBuffer[] int int org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode long java.util.concurrent.TimeUnit java.lang.Object org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck java.nio.channels.CompletionHandler java.io.IOException org.apache.tomcat.util.net.SocketWrapperBase$VectoredIOCompletionHandler
StackMap stack: org.apache.tomcat.util.net.SocketWrapperBase int java.nio.ByteBuffer[] int int org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode long java.util.concurrent.TimeUnit java.lang.Object org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck java.nio.channels.CompletionHandler
37: aload 0
getfield org.apache.tomcat.util.net.SocketWrapperBase.writePending:Ljava/util/concurrent/Semaphore;
StackMap locals: org.apache.tomcat.util.net.SocketWrapperBase int java.nio.ByteBuffer[] int int org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode long java.util.concurrent.TimeUnit java.lang.Object org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck java.nio.channels.CompletionHandler java.io.IOException org.apache.tomcat.util.net.SocketWrapperBase$VectoredIOCompletionHandler
StackMap stack: org.apache.tomcat.util.net.SocketWrapperBase int java.nio.ByteBuffer[] int int org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode long java.util.concurrent.TimeUnit java.lang.Object org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck java.nio.channels.CompletionHandler java.util.concurrent.Semaphore
38: aload 13
39: invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.newOperationState:(Z[Ljava/nio/ByteBuffer;IILorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler;Ljava/util/concurrent/Semaphore;Lorg/apache/tomcat/util/net/SocketWrapperBase$VectoredIOCompletionHandler;)Lorg/apache/tomcat/util/net/SocketWrapperBase$OperationState;
astore 14
start local 14 40: iload 1
ifeq 43
41: aload 0
aload 14
putfield org.apache.tomcat.util.net.SocketWrapperBase.readOperation:Lorg/apache/tomcat/util/net/SocketWrapperBase$OperationState;
42: goto 44
43: StackMap locals: org.apache.tomcat.util.net.SocketWrapperBase$OperationState
StackMap stack:
aload 0
aload 14
putfield org.apache.tomcat.util.net.SocketWrapperBase.writeOperation:Lorg/apache/tomcat/util/net/SocketWrapperBase$OperationState;
44: StackMap locals:
StackMap stack:
aload 14
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase$OperationState.start:()V
45: aload 5
getstatic org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode.BLOCK:Lorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;
if_acmpne 64
46: aload 14
dup
astore 15
monitorenter
47: aload 14
getfield org.apache.tomcat.util.net.SocketWrapperBase$OperationState.state:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
getstatic org.apache.tomcat.util.net.SocketWrapperBase$CompletionState.PENDING:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
if_acmpne 60
48: aload 14
aload 8
lload 6
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
invokevirtual java.lang.Object.wait:(J)V
49: aload 14
getfield org.apache.tomcat.util.net.SocketWrapperBase$OperationState.state:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
getstatic org.apache.tomcat.util.net.SocketWrapperBase$CompletionState.PENDING:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
if_acmpne 60
50: aload 11
ifnull 52
aload 14
getfield org.apache.tomcat.util.net.SocketWrapperBase$OperationState.callHandler:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_1
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ifeq 52
51: aload 11
new java.net.SocketTimeoutException
dup
aload 0
iload 1
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.getTimeoutMsg:(Z)Ljava/lang/String;
invokespecial java.net.SocketTimeoutException.<init>:(Ljava/lang/String;)V
aload 9
invokeinterface java.nio.channels.CompletionHandler.failed:(Ljava/lang/Throwable;Ljava/lang/Object;)V
52: StackMap locals: org.apache.tomcat.util.net.SocketWrapperBase$OperationState
StackMap stack:
getstatic org.apache.tomcat.util.net.SocketWrapperBase$CompletionState.ERROR:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
53: aload 15
monitorexit
54: areturn
55: StackMap locals:
StackMap stack: java.lang.InterruptedException
pop
56: aload 11
ifnull 58
aload 14
getfield org.apache.tomcat.util.net.SocketWrapperBase$OperationState.callHandler:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_1
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ifeq 58
57: aload 11
new java.net.SocketTimeoutException
dup
aload 0
iload 1
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.getTimeoutMsg:(Z)Ljava/lang/String;
invokespecial java.net.SocketTimeoutException.<init>:(Ljava/lang/String;)V
aload 9
invokeinterface java.nio.channels.CompletionHandler.failed:(Ljava/lang/Throwable;Ljava/lang/Object;)V
58: StackMap locals:
StackMap stack:
getstatic org.apache.tomcat.util.net.SocketWrapperBase$CompletionState.ERROR:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
aload 15
monitorexit
59: areturn
60: StackMap locals:
StackMap stack:
aload 15
monitorexit
61: goto 64
StackMap locals:
StackMap stack: java.lang.Throwable
62: aload 15
monitorexit
63: athrow
64: StackMap locals:
StackMap stack:
aload 14
getfield org.apache.tomcat.util.net.SocketWrapperBase$OperationState.state:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
areturn
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 6 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 65 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 65 1 read Z
0 65 2 buffers [Ljava/nio/ByteBuffer;
0 65 3 offset I
0 65 4 length I
0 65 5 block Lorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;
0 65 6 timeout J
0 65 8 unit Ljava/util/concurrent/TimeUnit;
0 65 9 attachment TA;
0 65 10 check Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;
0 65 11 handler Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;
1 65 12 ioe Ljava/io/IOException;
24 26 13 e Ljava/lang/InterruptedException;
35 65 13 completion Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>.VectoredIOCompletionHandler<TA;>;
40 65 14 state Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>.OperationState<TA;>;
Exception table:
from to target type
18 22 23 Class java.lang.InterruptedException
48 53 55 Class java.lang.InterruptedException
47 54 62 any
55 59 62 any
60 61 62 any
62 63 62 any
Signature: <A:Ljava/lang/Object;>(Z[Ljava/nio/ByteBuffer;IILorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;TA;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;)Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
MethodParameters:
Name Flags
read
buffers
offset
length
block
timeout
unit
attachment
check
handler
private java.lang.String getTimeoutMsg(boolean);
descriptor: (Z)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
1: getstatic org.apache.tomcat.util.net.SocketWrapperBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "socketWrapper.readTimeout"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
getstatic org.apache.tomcat.util.net.SocketWrapperBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "socketWrapper.writeTimeout"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 3 1 read Z
MethodParameters:
Name Flags
read
protected abstract <A> org.apache.tomcat.util.net.SocketWrapperBase<E>.OperationState<A> newOperationState(boolean, java.nio.ByteBuffer[], int, int, org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode, long, java.util.concurrent.TimeUnit, A, org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck, java.nio.channels.CompletionHandler<java.lang.Long, ? super A>, java.util.concurrent.Semaphore, org.apache.tomcat.util.net.SocketWrapperBase<E>.VectoredIOCompletionHandler<A>);
descriptor: (Z[Ljava/nio/ByteBuffer;IILorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler;Ljava/util/concurrent/Semaphore;Lorg/apache/tomcat/util/net/SocketWrapperBase$VectoredIOCompletionHandler;)Lorg/apache/tomcat/util/net/SocketWrapperBase$OperationState;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: <A:Ljava/lang/Object;>(Z[Ljava/nio/ByteBuffer;IILorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;JLjava/util/concurrent/TimeUnit;TA;Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;Ljava/util/concurrent/Semaphore;Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>.VectoredIOCompletionHandler<TA;>;)Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>.OperationState<TA;>;
MethodParameters:
Name Flags
read
buffers
offset
length
block
timeout
unit
attachment
check
handler
semaphore
completion
protected static int transfer(byte[], int, int, java.nio.ByteBuffer);
descriptor: ([BIILjava/nio/ByteBuffer;)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic java.lang.Math.min:(II)I
istore 4
start local 4 1: iload 4
ifle 3
2: aload 3
aload 0
iload 1
iload 4
invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
pop
3: StackMap locals: int
StackMap stack:
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 4 0 from [B
0 4 1 offset I
0 4 2 length I
0 4 3 to Ljava/nio/ByteBuffer;
1 4 4 max I
MethodParameters:
Name Flags
from
offset
length
to
protected static int transfer(java.nio.ByteBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic java.lang.Math.min:(II)I
istore 2
start local 2 1: iload 2
ifle 6
2: aload 0
invokevirtual java.nio.ByteBuffer.limit:()I
istore 3
start local 3 3: aload 0
aload 0
invokevirtual java.nio.ByteBuffer.position:()I
iload 2
iadd
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
4: aload 1
aload 0
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
5: aload 0
iload 3
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
end local 3 6: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 from Ljava/nio/ByteBuffer;
0 7 1 to Ljava/nio/ByteBuffer;
1 7 2 max I
3 6 3 fromLimit I
MethodParameters:
Name Flags
from
to
protected static boolean buffersArrayHasRemaining(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
istore 3
start local 3 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
iload 3
aaload
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 1
iload 2
iadd
if_icmplt 2
end local 3 6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 buffers [Ljava/nio/ByteBuffer;
0 7 1 offset I
0 7 2 length I
1 6 3 pos I
MethodParameters:
Name Flags
buffers
offset
length
}
Signature: <E:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "SocketWrapperBase.java"
NestMembers:
org.apache.tomcat.util.net.SocketWrapperBase$1 org.apache.tomcat.util.net.SocketWrapperBase$2 org.apache.tomcat.util.net.SocketWrapperBase$3 org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck org.apache.tomcat.util.net.SocketWrapperBase$CompletionHandlerCall org.apache.tomcat.util.net.SocketWrapperBase$CompletionState org.apache.tomcat.util.net.SocketWrapperBase$OperationState org.apache.tomcat.util.net.SocketWrapperBase$VectoredIOCompletionHandler
InnerClasses:
public abstract Handler = org.apache.tomcat.util.net.AbstractEndpoint$Handler of org.apache.tomcat.util.net.AbstractEndpoint
org.apache.tomcat.util.net.SocketWrapperBase$1
org.apache.tomcat.util.net.SocketWrapperBase$2
org.apache.tomcat.util.net.SocketWrapperBase$3
public final BlockingMode = org.apache.tomcat.util.net.SocketWrapperBase$BlockingMode of org.apache.tomcat.util.net.SocketWrapperBase
public abstract CompletionCheck = org.apache.tomcat.util.net.SocketWrapperBase$CompletionCheck of org.apache.tomcat.util.net.SocketWrapperBase
public final CompletionHandlerCall = org.apache.tomcat.util.net.SocketWrapperBase$CompletionHandlerCall of org.apache.tomcat.util.net.SocketWrapperBase
public final CompletionState = org.apache.tomcat.util.net.SocketWrapperBase$CompletionState of org.apache.tomcat.util.net.SocketWrapperBase
protected abstract OperationState = org.apache.tomcat.util.net.SocketWrapperBase$OperationState of org.apache.tomcat.util.net.SocketWrapperBase
protected VectoredIOCompletionHandler = org.apache.tomcat.util.net.SocketWrapperBase$VectoredIOCompletionHandler of org.apache.tomcat.util.net.SocketWrapperBase