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 volatile boolean upgraded;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private boolean secure;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
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 boolean blockingStatus;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.util.concurrent.locks.Lock blockingStatusReadLock;
descriptor: Ljava/util/concurrent/locks/Lock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock blockingStatusWriteLock;
descriptor: Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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<*>;
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=4, 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
iconst_0
putfield org.apache.tomcat.util.net.SocketWrapperBase.upgraded:Z
6: aload 0
iconst_0
putfield org.apache.tomcat.util.net.SocketWrapperBase.secure:Z
7: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.negotiatedProtocol:Ljava/lang/String;
8: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.localAddr:Ljava/lang/String;
9: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.localName:Ljava/lang/String;
10: aload 0
iconst_m1
putfield org.apache.tomcat.util.net.SocketWrapperBase.localPort:I
11: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.remoteAddr:Ljava/lang/String;
12: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.remoteHost:Ljava/lang/String;
13: aload 0
iconst_m1
putfield org.apache.tomcat.util.net.SocketWrapperBase.remotePort:I
14: aload 0
iconst_1
putfield org.apache.tomcat.util.net.SocketWrapperBase.blockingStatus:Z
15: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.error:Ljava/io/IOException;
16: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.socketBufferHandler:Lorg/apache/tomcat/util/net/SocketBufferHandler;
17: aload 0
ldc 65536
putfield org.apache.tomcat.util.net.SocketWrapperBase.bufferedWriteSize:I
18: 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;
19: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.readOperation:Lorg/apache/tomcat/util/net/SocketWrapperBase$OperationState;
20: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.writeOperation:Lorg/apache/tomcat/util/net/SocketWrapperBase$OperationState;
21: aload 0
aload 1
putfield org.apache.tomcat.util.net.SocketWrapperBase.socket:Ljava/lang/Object;
22: aload 0
aload 2
putfield org.apache.tomcat.util.net.SocketWrapperBase.endpoint:Lorg/apache/tomcat/util/net/AbstractEndpoint;
23: new java.util.concurrent.locks.ReentrantReadWriteLock
dup
invokespecial java.util.concurrent.locks.ReentrantReadWriteLock.<init>:()V
astore 3
start local 3 24: aload 0
aload 3
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
putfield org.apache.tomcat.util.net.SocketWrapperBase.blockingStatusReadLock:Ljava/util/concurrent/locks/Lock;
25: aload 0
aload 3
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
putfield org.apache.tomcat.util.net.SocketWrapperBase.blockingStatusWriteLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
26: aload 2
invokevirtual org.apache.tomcat.util.net.AbstractEndpoint.getUseAsyncIO:()Z
ifne 27
aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.needSemaphores:()Z
ifeq 30
27: StackMap locals: org.apache.tomcat.util.net.SocketWrapperBase java.lang.Object org.apache.tomcat.util.net.AbstractEndpoint java.util.concurrent.locks.ReentrantReadWriteLock
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;
28: 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;
29: goto 32
30: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.readPending:Ljava/util/concurrent/Semaphore;
31: aload 0
aconst_null
putfield org.apache.tomcat.util.net.SocketWrapperBase.writePending:Ljava/util/concurrent/Semaphore;
32: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 33 1 socket TE;
0 33 2 endpoint Lorg/apache/tomcat/util/net/AbstractEndpoint<TE;*>;
24 33 3 lock Ljava/util/concurrent/locks/ReentrantReadWriteLock;
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 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 boolean isUpgraded();
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.upgraded:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public void setUpgraded(boolean);
descriptor: (Z)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.upgraded:Z
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 upgraded Z
MethodParameters:
Name Flags
upgraded
public boolean isSecure();
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.secure:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public void setSecure(boolean);
descriptor: (Z)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.secure:Z
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 secure Z
MethodParameters:
Name Flags
secure
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
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 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 boolean getBlockingStatus();
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.blockingStatus:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public void setBlockingStatus(boolean);
descriptor: (Z)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.blockingStatus:Z
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 blockingStatus Z
MethodParameters:
Name Flags
blockingStatus
public java.util.concurrent.locks.Lock getBlockingStatusReadLock();
descriptor: ()Ljava/util/concurrent/locks/Lock;
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.blockingStatusReadLock:Ljava/util/concurrent/locks/Lock;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
public java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock getBlockingStatusWriteLock();
descriptor: ()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
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.blockingStatusWriteLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
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 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.configureReadBufferForWrite:()V
2: 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
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
3: StackMap locals:
StackMap stack:
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 returnedInput Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
returnedInput
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, 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 2
1: aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doClose:()V
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;>;
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: 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
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 2: goto 8
3: StackMap locals: int
StackMap stack:
iload 3
iload 4
isub
istore 3
4: iload 2
iload 4
iadd
istore 2
5: aload 0
iconst_1
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doWrite:(Z)V
6: 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
7: 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
8: 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.getWriteBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
ifeq 3
9: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 10 1 buf [B
0 10 2 off I
0 10 3 len I
2 10 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 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 3
1: aload 0
aload 1
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.writeBlockingDirect:(Ljava/nio/ByteBuffer;)V
2: goto 8
3: 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.configureWriteBufferForWrite:()V
4: 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
5: 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
ifne 8
6: aload 0
iconst_1
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doWrite:(Z)V
7: aload 0
aload 1
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.writeBlockingDirect:(Ljava/nio/ByteBuffer;)V
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 writeBlockingDirect(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, 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.getWriteBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
istore 2
start local 2 1: aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
istore 3
start local 3 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 1
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iload 2
iadd
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
4: aload 0
iconst_1
aload 1
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doWrite:(ZLjava/nio/ByteBuffer;)V
5: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 2
if_icmpge 3
7: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
ifle 10
8: 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
9: 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
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 11 1 from Ljava/nio/ByteBuffer;
1 11 2 limit I
2 11 3 fromLimit I
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: 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 13
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 13
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 12
5: StackMap locals: int
StackMap stack:
iload 2
iload 4
iadd
istore 2
6: aload 0
iconst_0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doWrite:(Z)V
7: iload 3
ifle 13
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 13
8: 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
9: 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
10: iload 3
11: iload 4
isub
istore 3
12: 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 5
end local 4 13: StackMap locals:
StackMap stack:
iload 3
ifle 15
14: 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
15: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 16 1 buf [B
0 16 2 off I
0 16 3 len I
3 13 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 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 2
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 2
1: aload 0
aload 1
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.writeNonBlockingInternal:(Ljava/nio/ByteBuffer;)V
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
ifle 4
3: 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
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 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.isWriteBufferEmpty:()Z
ifeq 3
1: aload 0
aload 1
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.writeNonBlockingDirect:(Ljava/nio/ByteBuffer;)V
2: goto 9
3: 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.configureWriteBufferForWrite:()V
4: 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
5: 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
ifne 9
6: aload 0
iconst_0
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.isWriteBufferWritable:()Z
ifeq 9
8: aload 0
aload 1
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.writeNonBlockingDirect:(Ljava/nio/ByteBuffer;)V
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 10 1 from Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
from
protected void writeNonBlockingDirect(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, 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.getWriteBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
istore 2
start local 2 1: aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
istore 3
start local 3 2: goto 9
3: StackMap locals: int int
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iload 2
iadd
istore 4
start local 4 4: aload 1
iload 4
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
5: aload 0
iconst_0
aload 1
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doWrite:(ZLjava/nio/ByteBuffer;)V
6: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
7: aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iload 4
if_icmpeq 9
8: return
end local 4 9: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 2
if_icmpge 3
10: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
ifle 13
11: 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
12: 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
13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 14 1 from Ljava/nio/ByteBuffer;
1 14 2 limit I
2 14 3 fromLimit I
4 9 4 newLimit I
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 boolean awaitReadComplete(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=3
start local 0 start local 1 start local 3 0: iconst_1
ireturn
end local 3 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 timeout J
0 1 3 unit Ljava/util/concurrent/TimeUnit;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
timeout
unit
public boolean awaitWriteComplete(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=3
start local 0 start local 1 start local 3 0: iconst_1
ireturn
end local 3 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 timeout J
0 1 3 unit Ljava/util/concurrent/TimeUnit;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
timeout
unit
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 61
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 57
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 57
50: getstatic org.apache.tomcat.util.net.SocketWrapperBase$CompletionState.ERROR:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
51: aload 15
monitorexit
52: areturn
53: 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 org.apache.tomcat.util.net.SocketWrapperBase$OperationState org.apache.tomcat.util.net.SocketWrapperBase$OperationState
StackMap stack: java.lang.InterruptedException
pop
54: aload 13
new java.net.SocketTimeoutException
dup
invokespecial java.net.SocketTimeoutException.<init>:()V
aload 14
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase$VectoredIOCompletionHandler.failed:(Ljava/lang/Throwable;Lorg/apache/tomcat/util/net/SocketWrapperBase$OperationState;)V
55: getstatic org.apache.tomcat.util.net.SocketWrapperBase$CompletionState.ERROR:Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionState;
aload 15
monitorexit
56: areturn
57: StackMap locals:
StackMap stack:
aload 15
monitorexit
58: goto 61
StackMap locals:
StackMap stack: java.lang.Throwable
59: aload 15
monitorexit
60: athrow
61: 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 62 0 this Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>;
0 62 1 read Z
0 62 2 buffers [Ljava/nio/ByteBuffer;
0 62 3 offset I
0 62 4 length I
0 62 5 block Lorg/apache/tomcat/util/net/SocketWrapperBase$BlockingMode;
0 62 6 timeout J
0 62 8 unit Ljava/util/concurrent/TimeUnit;
0 62 9 attachment TA;
0 62 10 check Lorg/apache/tomcat/util/net/SocketWrapperBase$CompletionCheck;
0 62 11 handler Ljava/nio/channels/CompletionHandler<Ljava/lang/Long;-TA;>;
1 62 12 ioe Ljava/io/IOException;
24 26 13 e Ljava/lang/InterruptedException;
35 62 13 completion Lorg/apache/tomcat/util/net/SocketWrapperBase<TE;>.VectoredIOCompletionHandler<TA;>;
40 62 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 51 53 Class java.lang.InterruptedException
47 52 59 any
53 56 59 any
57 58 59 any
59 60 59 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
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
}
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 ReadLock = java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock of java.util.concurrent.locks.ReentrantReadWriteLock
public WriteLock = java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock of java.util.concurrent.locks.ReentrantReadWriteLock
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