public class org.apache.tomcat.util.net.NioEndpoint extends org.apache.tomcat.util.net.AbstractJsseEndpoint<org.apache.tomcat.util.net.NioChannel, java.nio.channels.SocketChannel>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.tomcat.util.net.NioEndpoint
super_class: org.apache.tomcat.util.net.AbstractJsseEndpoint
{
private static final org.apache.juli.logging.Log log;
descriptor: Lorg/apache/juli/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final int OP_REGISTER;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 256
private volatile java.nio.channels.ServerSocketChannel serverSock;
descriptor: Ljava/nio/channels/ServerSocketChannel;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.util.concurrent.CountDownLatch stopLatch;
descriptor: Ljava/util/concurrent/CountDownLatch;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private org.apache.tomcat.util.collections.SynchronizedStack<org.apache.tomcat.util.net.NioEndpoint$PollerEvent> eventCache;
descriptor: Lorg/apache/tomcat/util/collections/SynchronizedStack;
flags: (0x0002) ACC_PRIVATE
Signature: Lorg/apache/tomcat/util/collections/SynchronizedStack<Lorg/apache/tomcat/util/net/NioEndpoint$PollerEvent;>;
private org.apache.tomcat.util.collections.SynchronizedStack<org.apache.tomcat.util.net.NioChannel> nioChannels;
descriptor: Lorg/apache/tomcat/util/collections/SynchronizedStack;
flags: (0x0002) ACC_PRIVATE
Signature: Lorg/apache/tomcat/util/collections/SynchronizedStack<Lorg/apache/tomcat/util/net/NioChannel;>;
private boolean useInheritedChannel;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int pollerThreadPriority;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long selectorTimeout;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private org.apache.tomcat.util.net.NioEndpoint$Poller poller;
descriptor: Lorg/apache/tomcat/util/net/NioEndpoint$Poller;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/tomcat/util/net/NioEndpoint;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
putstatic org.apache.tomcat.util.net.NioEndpoint.log:Lorg/apache/juli/logging/Log;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.tomcat.util.net.AbstractJsseEndpoint.<init>:()V
1: aload 0
aconst_null
putfield org.apache.tomcat.util.net.NioEndpoint.serverSock:Ljava/nio/channels/ServerSocketChannel;
2: aload 0
aconst_null
putfield org.apache.tomcat.util.net.NioEndpoint.stopLatch:Ljava/util/concurrent/CountDownLatch;
3: aload 0
iconst_0
putfield org.apache.tomcat.util.net.NioEndpoint.useInheritedChannel:Z
4: aload 0
iconst_5
putfield org.apache.tomcat.util.net.NioEndpoint.pollerThreadPriority:I
5: aload 0
ldc 1000
putfield org.apache.tomcat.util.net.NioEndpoint.selectorTimeout:J
6: aload 0
aconst_null
putfield org.apache.tomcat.util.net.NioEndpoint.poller:Lorg/apache/tomcat/util/net/NioEndpoint$Poller;
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
public void setUseInheritedChannel(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.NioEndpoint.useInheritedChannel:Z
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
0 1 1 useInheritedChannel Z
MethodParameters:
Name Flags
useInheritedChannel
public boolean getUseInheritedChannel();
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.NioEndpoint.useInheritedChannel:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
public void setPollerThreadPriority(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.NioEndpoint.pollerThreadPriority:I
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
0 1 1 pollerThreadPriority I
MethodParameters:
Name Flags
pollerThreadPriority
public int getPollerThreadPriority();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.pollerThreadPriority:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
public void setSelectorTimeout(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
putfield org.apache.tomcat.util.net.NioEndpoint.selectorTimeout:J
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
0 1 1 timeout J
MethodParameters:
Name Flags
timeout
public long getSelectorTimeout();
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.NioEndpoint.selectorTimeout:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
public int getKeepAliveCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.poller:Lorg/apache/tomcat/util/net/NioEndpoint$Poller;
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.poller:Lorg/apache/tomcat/util/net/NioEndpoint$Poller;
invokevirtual org.apache.tomcat.util.net.NioEndpoint$Poller.getKeyCount:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
public void bind();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.initServerSocket:()V
1: aload 0
new java.util.concurrent.CountDownLatch
dup
iconst_1
invokespecial java.util.concurrent.CountDownLatch.<init>:(I)V
invokevirtual org.apache.tomcat.util.net.NioEndpoint.setStopLatch:(Ljava/util/concurrent/CountDownLatch;)V
2: aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.initialiseSsl:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
Exceptions:
throws java.lang.Exception
protected void initServerSocket();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getUseInheritedChannel:()Z
ifne 6
1: aload 0
invokestatic java.nio.channels.ServerSocketChannel.open:()Ljava/nio/channels/ServerSocketChannel;
putfield org.apache.tomcat.util.net.NioEndpoint.serverSock:Ljava/nio/channels/ServerSocketChannel;
2: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.socketProperties:Lorg/apache/tomcat/util/net/SocketProperties;
aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.serverSock:Ljava/nio/channels/ServerSocketChannel;
invokevirtual java.nio.channels.ServerSocketChannel.socket:()Ljava/net/ServerSocket;
invokevirtual org.apache.tomcat.util.net.SocketProperties.setProperties:(Ljava/net/ServerSocket;)V
3: new java.net.InetSocketAddress
dup
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getAddress:()Ljava/net/InetAddress;
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getPortWithOffset:()I
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
astore 1
start local 1 4: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.serverSock:Ljava/nio/channels/ServerSocketChannel;
invokevirtual java.nio.channels.ServerSocketChannel.socket:()Ljava/net/ServerSocket;
aload 1
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getAcceptCount:()I
invokevirtual java.net.ServerSocket.bind:(Ljava/net/SocketAddress;I)V
end local 1 5: goto 11
6: StackMap locals:
StackMap stack:
invokestatic java.lang.System.inheritedChannel:()Ljava/nio/channels/Channel;
astore 1
start local 1 7: aload 1
instanceof java.nio.channels.ServerSocketChannel
ifeq 9
8: aload 0
aload 1
checkcast java.nio.channels.ServerSocketChannel
putfield org.apache.tomcat.util.net.NioEndpoint.serverSock:Ljava/nio/channels/ServerSocketChannel;
9: StackMap locals: java.nio.channels.Channel
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.serverSock:Ljava/nio/channels/ServerSocketChannel;
ifnonnull 11
10: new java.lang.IllegalArgumentException
dup
getstatic org.apache.tomcat.util.net.NioEndpoint.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "endpoint.init.bind.inherited"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 11: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.serverSock:Ljava/nio/channels/ServerSocketChannel;
iconst_1
invokevirtual java.nio.channels.ServerSocketChannel.configureBlocking:(Z)Ljava/nio/channels/SelectableChannel;
pop
12: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
4 5 1 addr Ljava/net/InetSocketAddress;
7 11 1 ic Ljava/nio/channels/Channel;
Exceptions:
throws java.lang.Exception
public void startInternal();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.running:Z
ifne 28
1: aload 0
iconst_1
putfield org.apache.tomcat.util.net.NioEndpoint.running:Z
2: aload 0
iconst_0
putfield org.apache.tomcat.util.net.NioEndpoint.paused:Z
3: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.socketProperties:Lorg/apache/tomcat/util/net/SocketProperties;
invokevirtual org.apache.tomcat.util.net.SocketProperties.getProcessorCache:()I
ifeq 7
4: aload 0
new org.apache.tomcat.util.collections.SynchronizedStack
dup
sipush 128
5: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.socketProperties:Lorg/apache/tomcat/util/net/SocketProperties;
invokevirtual org.apache.tomcat.util.net.SocketProperties.getProcessorCache:()I
invokespecial org.apache.tomcat.util.collections.SynchronizedStack.<init>:(II)V
6: putfield org.apache.tomcat.util.net.NioEndpoint.processorCache:Lorg/apache/tomcat/util/collections/SynchronizedStack;
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.socketProperties:Lorg/apache/tomcat/util/net/SocketProperties;
invokevirtual org.apache.tomcat.util.net.SocketProperties.getEventCache:()I
ifeq 11
8: aload 0
new org.apache.tomcat.util.collections.SynchronizedStack
dup
sipush 128
9: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.socketProperties:Lorg/apache/tomcat/util/net/SocketProperties;
invokevirtual org.apache.tomcat.util.net.SocketProperties.getEventCache:()I
invokespecial org.apache.tomcat.util.collections.SynchronizedStack.<init>:(II)V
10: putfield org.apache.tomcat.util.net.NioEndpoint.eventCache:Lorg/apache/tomcat/util/collections/SynchronizedStack;
11: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.socketProperties:Lorg/apache/tomcat/util/net/SocketProperties;
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.isSSLEnabled:()Z
ifeq 12
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getSniParseLimit:()I
iconst_2
imul
goto 13
StackMap locals:
StackMap stack: org.apache.tomcat.util.net.SocketProperties
12: iconst_0
StackMap locals: org.apache.tomcat.util.net.NioEndpoint
StackMap stack: org.apache.tomcat.util.net.SocketProperties int
13: invokevirtual org.apache.tomcat.util.net.SocketProperties.getActualBufferPool:(I)I
14: istore 1
start local 1 15: iload 1
ifeq 19
16: aload 0
new org.apache.tomcat.util.collections.SynchronizedStack
dup
sipush 128
17: iload 1
invokespecial org.apache.tomcat.util.collections.SynchronizedStack.<init>:(II)V
18: putfield org.apache.tomcat.util.net.NioEndpoint.nioChannels:Lorg/apache/tomcat/util/collections/SynchronizedStack;
19: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getExecutor:()Ljava/util/concurrent/Executor;
ifnonnull 21
20: aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.createExecutor:()V
21: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.initializeConnectionLatch:()Lorg/apache/tomcat/util/threads/LimitLatch;
pop
22: aload 0
new org.apache.tomcat.util.net.NioEndpoint$Poller
dup
aload 0
invokespecial org.apache.tomcat.util.net.NioEndpoint$Poller.<init>:(Lorg/apache/tomcat/util/net/NioEndpoint;)V
putfield org.apache.tomcat.util.net.NioEndpoint.poller:Lorg/apache/tomcat/util/net/NioEndpoint$Poller;
23: new java.lang.Thread
dup
aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.poller:Lorg/apache/tomcat/util/net/NioEndpoint$Poller;
new java.lang.StringBuilder
dup
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-Poller"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;Ljava/lang/String;)V
astore 2
start local 2 24: aload 2
aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.threadPriority:I
invokevirtual java.lang.Thread.setPriority:(I)V
25: aload 2
iconst_1
invokevirtual java.lang.Thread.setDaemon:(Z)V
26: aload 2
invokevirtual java.lang.Thread.start:()V
27: aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.startAcceptorThread:()V
end local 2 end local 1 28: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
15 28 1 actualBufferPool I
24 28 2 pollerThread Ljava/lang/Thread;
Exceptions:
throws java.lang.Exception
public void stopInternal();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.paused:Z
ifne 2
1: aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.pause:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.running:Z
ifeq 23
3: aload 0
iconst_0
putfield org.apache.tomcat.util.net.NioEndpoint.running:Z
4: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.acceptor:Lorg/apache/tomcat/util/net/Acceptor;
bipush 10
invokevirtual org.apache.tomcat.util.net.Acceptor.stop:(I)V
5: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.poller:Lorg/apache/tomcat/util/net/NioEndpoint$Poller;
ifnull 8
6: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.poller:Lorg/apache/tomcat/util/net/NioEndpoint$Poller;
invokevirtual org.apache.tomcat.util.net.NioEndpoint$Poller.destroy:()V
7: aload 0
aconst_null
putfield org.apache.tomcat.util.net.NioEndpoint.poller:Lorg/apache/tomcat/util/net/NioEndpoint$Poller;
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getStopLatch:()Ljava/util/concurrent/CountDownLatch;
aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.selectorTimeout:J
ldc 100
ladd
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.CountDownLatch.await:(JLjava/util/concurrent/TimeUnit;)Z
ifne 13
9: getstatic org.apache.tomcat.util.net.NioEndpoint.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.tomcat.util.net.NioEndpoint.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "endpoint.nio.stopLatchAwaitFail"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
10: goto 13
StackMap locals:
StackMap stack: java.lang.InterruptedException
11: astore 1
start local 1 12: getstatic org.apache.tomcat.util.net.NioEndpoint.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.tomcat.util.net.NioEndpoint.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "endpoint.nio.stopLatchAwaitInterrupted"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 1
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 1 13: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.shutdownExecutor:()V
14: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.eventCache:Lorg/apache/tomcat/util/collections/SynchronizedStack;
ifnull 17
15: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.eventCache:Lorg/apache/tomcat/util/collections/SynchronizedStack;
invokevirtual org.apache.tomcat.util.collections.SynchronizedStack.clear:()V
16: aload 0
aconst_null
putfield org.apache.tomcat.util.net.NioEndpoint.eventCache:Lorg/apache/tomcat/util/collections/SynchronizedStack;
17: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.nioChannels:Lorg/apache/tomcat/util/collections/SynchronizedStack;
ifnull 20
18: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.nioChannels:Lorg/apache/tomcat/util/collections/SynchronizedStack;
invokevirtual org.apache.tomcat.util.collections.SynchronizedStack.clear:()V
19: aload 0
aconst_null
putfield org.apache.tomcat.util.net.NioEndpoint.nioChannels:Lorg/apache/tomcat/util/collections/SynchronizedStack;
20: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.processorCache:Lorg/apache/tomcat/util/collections/SynchronizedStack;
ifnull 23
21: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.processorCache:Lorg/apache/tomcat/util/collections/SynchronizedStack;
invokevirtual org.apache.tomcat.util.collections.SynchronizedStack.clear:()V
22: aload 0
aconst_null
putfield org.apache.tomcat.util.net.NioEndpoint.processorCache:Lorg/apache/tomcat/util/collections/SynchronizedStack;
23: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
12 13 1 e Ljava/lang/InterruptedException;
Exception table:
from to target type
8 10 11 Class java.lang.InterruptedException
public void unbind();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: getstatic org.apache.tomcat.util.net.NioEndpoint.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 4
1: getstatic org.apache.tomcat.util.net.NioEndpoint.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Destroy initiated for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: new java.net.InetSocketAddress
dup
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getAddress:()Ljava/net/InetAddress;
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getPortWithOffset:()I
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.running:Z
ifeq 6
5: aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.stop:()V
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.doCloseServerSocket:()V
7: goto 10
StackMap locals:
StackMap stack: java.io.IOException
8: astore 1
start local 1 9: aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getLog:()Lorg/apache/juli/logging/Log;
getstatic org.apache.tomcat.util.net.NioEndpoint.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "endpoint.serverSocket.closeFailed"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getName:()Ljava/lang/String;
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 1
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 1 10: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.destroySsl:()V
11: aload 0
invokespecial org.apache.tomcat.util.net.AbstractJsseEndpoint.unbind:()V
12: aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getHandler:()Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler;
ifnull 14
13: aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getHandler:()Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler;
invokeinterface org.apache.tomcat.util.net.AbstractEndpoint$Handler.recycle:()V
14: StackMap locals:
StackMap stack:
getstatic org.apache.tomcat.util.net.NioEndpoint.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 18
15: getstatic org.apache.tomcat.util.net.NioEndpoint.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Destroy completed for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: new java.net.InetSocketAddress
dup
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getAddress:()Ljava/net/InetAddress;
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getPortWithOffset:()I
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
18: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
9 10 1 ioe Ljava/io/IOException;
Exception table:
from to target type
6 7 8 Class java.io.IOException
Exceptions:
throws java.lang.Exception
protected void doCloseServerSocket();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getUseInheritedChannel:()Z
ifne 2
aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.serverSock:Ljava/nio/channels/ServerSocketChannel;
ifnull 2
1: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.serverSock:Ljava/nio/channels/ServerSocketChannel;
invokevirtual java.nio.channels.ServerSocketChannel.close:()V
2: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.apache.tomcat.util.net.NioEndpoint.serverSock:Ljava/nio/channels/ServerSocketChannel;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
Exceptions:
throws java.io.IOException
protected org.apache.tomcat.util.collections.SynchronizedStack<org.apache.tomcat.util.net.NioChannel> getNioChannels();
descriptor: ()Lorg/apache/tomcat/util/collections/SynchronizedStack;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.nioChannels:Lorg/apache/tomcat/util/collections/SynchronizedStack;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
Signature: ()Lorg/apache/tomcat/util/collections/SynchronizedStack<Lorg/apache/tomcat/util/net/NioChannel;>;
protected org.apache.tomcat.util.net.NioEndpoint$Poller getPoller();
descriptor: ()Lorg/apache/tomcat/util/net/NioEndpoint$Poller;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.poller:Lorg/apache/tomcat/util/net/NioEndpoint$Poller;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
protected java.util.concurrent.CountDownLatch getStopLatch();
descriptor: ()Ljava/util/concurrent/CountDownLatch;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.stopLatch:Ljava/util/concurrent/CountDownLatch;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
protected void setStopLatch(java.util.concurrent.CountDownLatch);
descriptor: (Ljava/util/concurrent/CountDownLatch;)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.NioEndpoint.stopLatch:Ljava/util/concurrent/CountDownLatch;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
0 2 1 stopLatch Ljava/util/concurrent/CountDownLatch;
MethodParameters:
Name Flags
stopLatch
protected boolean setSocketOptions(java.nio.channels.SocketChannel);
descriptor: (Ljava/nio/channels/SocketChannel;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.nioChannels:Lorg/apache/tomcat/util/collections/SynchronizedStack;
ifnull 4
3: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.nioChannels:Lorg/apache/tomcat/util/collections/SynchronizedStack;
invokevirtual org.apache.tomcat.util.collections.SynchronizedStack.pop:()Ljava/lang/Object;
checkcast org.apache.tomcat.util.net.NioChannel
astore 3
4: StackMap locals: org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper org.apache.tomcat.util.net.NioChannel
StackMap stack:
aload 3
ifnonnull 14
5: new org.apache.tomcat.util.net.SocketBufferHandler
dup
6: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.socketProperties:Lorg/apache/tomcat/util/net/SocketProperties;
invokevirtual org.apache.tomcat.util.net.SocketProperties.getAppReadBufSize:()I
7: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.socketProperties:Lorg/apache/tomcat/util/net/SocketProperties;
invokevirtual org.apache.tomcat.util.net.SocketProperties.getAppWriteBufSize:()I
8: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.socketProperties:Lorg/apache/tomcat/util/net/SocketProperties;
invokevirtual org.apache.tomcat.util.net.SocketProperties.getDirectBuffer:()Z
9: invokespecial org.apache.tomcat.util.net.SocketBufferHandler.<init>:(IIZ)V
astore 4
start local 4 10: aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.isSSLEnabled:()Z
ifeq 13
11: new org.apache.tomcat.util.net.SecureNioChannel
dup
aload 4
aload 0
invokespecial org.apache.tomcat.util.net.SecureNioChannel.<init>:(Lorg/apache/tomcat/util/net/SocketBufferHandler;Lorg/apache/tomcat/util/net/NioEndpoint;)V
astore 3
12: goto 14
13: StackMap locals: org.apache.tomcat.util.net.SocketBufferHandler
StackMap stack:
new org.apache.tomcat.util.net.NioChannel
dup
aload 4
invokespecial org.apache.tomcat.util.net.NioChannel.<init>:(Lorg/apache/tomcat/util/net/SocketBufferHandler;)V
astore 3
end local 4 14: StackMap locals:
StackMap stack:
new org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper
dup
aload 3
aload 0
invokespecial org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.<init>:(Lorg/apache/tomcat/util/net/NioChannel;Lorg/apache/tomcat/util/net/NioEndpoint;)V
astore 4
start local 4 15: aload 3
aload 1
aload 4
invokevirtual org.apache.tomcat.util.net.NioChannel.reset:(Ljava/nio/channels/SocketChannel;Lorg/apache/tomcat/util/net/NioEndpoint$NioSocketWrapper;)V
16: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.connections:Ljava/util/Map;
aload 1
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 4
astore 2
18: aload 1
iconst_0
invokevirtual java.nio.channels.SocketChannel.configureBlocking:(Z)Ljava/nio/channels/SelectableChannel;
pop
19: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.socketProperties:Lorg/apache/tomcat/util/net/SocketProperties;
aload 1
invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
invokevirtual org.apache.tomcat.util.net.SocketProperties.setProperties:(Ljava/net/Socket;)V
20: aload 2
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getConnectionTimeout:()I
i2l
invokevirtual org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.setReadTimeout:(J)V
21: aload 2
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getConnectionTimeout:()I
i2l
invokevirtual org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.setWriteTimeout:(J)V
22: aload 2
aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.getMaxKeepAliveRequests:()I
invokevirtual org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.setKeepAliveLeft:(I)V
23: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.poller:Lorg/apache/tomcat/util/net/NioEndpoint$Poller;
aload 2
invokevirtual org.apache.tomcat.util.net.NioEndpoint$Poller.register:(Lorg/apache/tomcat/util/net/NioEndpoint$NioSocketWrapper;)V
24: iconst_1
ireturn
end local 4 end local 3 25: StackMap locals: org.apache.tomcat.util.net.NioEndpoint java.nio.channels.SocketChannel org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper
StackMap stack: java.lang.Throwable
astore 3
start local 3 26: aload 3
invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
27: getstatic org.apache.tomcat.util.net.NioEndpoint.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.tomcat.util.net.NioEndpoint.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "endpoint.socketOptionsError"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 3
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
28: goto 31
StackMap locals: org.apache.tomcat.util.net.NioEndpoint java.nio.channels.SocketChannel org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper java.lang.Throwable
StackMap stack: java.lang.Throwable
29: astore 4
start local 4 30: aload 4
invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
end local 4 31: StackMap locals:
StackMap stack:
aload 2
ifnonnull 33
32: aload 0
aload 1
invokevirtual org.apache.tomcat.util.net.NioEndpoint.destroySocket:(Ljava/nio/channels/SocketChannel;)V
end local 3 33: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
0 34 1 socket Ljava/nio/channels/SocketChannel;
1 34 2 socketWrapper Lorg/apache/tomcat/util/net/NioEndpoint$NioSocketWrapper;
2 25 3 channel Lorg/apache/tomcat/util/net/NioChannel;
10 14 4 bufhandler Lorg/apache/tomcat/util/net/SocketBufferHandler;
15 25 4 newWrapper Lorg/apache/tomcat/util/net/NioEndpoint$NioSocketWrapper;
26 33 3 t Ljava/lang/Throwable;
30 31 4 tt Ljava/lang/Throwable;
Exception table:
from to target type
1 24 25 Class java.lang.Throwable
27 28 29 Class java.lang.Throwable
MethodParameters:
Name Flags
socket
protected void destroySocket(java.nio.channels.SocketChannel);
descriptor: (Ljava/nio/channels/SocketChannel;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.countDownConnection:()J
pop2
1: aload 1
invokevirtual java.nio.channels.SocketChannel.close:()V
2: goto 6
StackMap locals:
StackMap stack: java.io.IOException
3: astore 2
start local 2 4: getstatic org.apache.tomcat.util.net.NioEndpoint.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 6
5: getstatic org.apache.tomcat.util.net.NioEndpoint.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.tomcat.util.net.NioEndpoint.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "endpoint.err.close"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 2
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 2 6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
0 7 1 socket Ljava/nio/channels/SocketChannel;
4 6 2 ioe Ljava/io/IOException;
Exception table:
from to target type
1 2 3 Class java.io.IOException
MethodParameters:
Name Flags
socket
protected java.nio.channels.NetworkChannel getServerSocket();
descriptor: ()Ljava/nio/channels/NetworkChannel;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.serverSock:Ljava/nio/channels/ServerSocketChannel;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
protected java.nio.channels.SocketChannel serverSocketAccept();
descriptor: ()Ljava/nio/channels/SocketChannel;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.tomcat.util.net.NioEndpoint.serverSock:Ljava/nio/channels/ServerSocketChannel;
invokevirtual java.nio.channels.ServerSocketChannel.accept:()Ljava/nio/channels/SocketChannel;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
Exceptions:
throws java.lang.Exception
protected org.apache.juli.logging.Log getLog();
descriptor: ()Lorg/apache/juli/logging/Log;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.apache.tomcat.util.net.NioEndpoint.log:Lorg/apache/juli/logging/Log;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
protected org.apache.tomcat.util.net.SocketProcessorBase<org.apache.tomcat.util.net.NioChannel> createSocketProcessor(org.apache.tomcat.util.net.SocketWrapperBase<org.apache.tomcat.util.net.NioChannel>, org.apache.tomcat.util.net.SocketEvent);
descriptor: (Lorg/apache/tomcat/util/net/SocketWrapperBase;Lorg/apache/tomcat/util/net/SocketEvent;)Lorg/apache/tomcat/util/net/SocketProcessorBase;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new org.apache.tomcat.util.net.NioEndpoint$SocketProcessor
dup
aload 0
aload 1
aload 2
invokespecial org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.<init>:(Lorg/apache/tomcat/util/net/NioEndpoint;Lorg/apache/tomcat/util/net/SocketWrapperBase;Lorg/apache/tomcat/util/net/SocketEvent;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/net/NioEndpoint;
0 1 1 socketWrapper Lorg/apache/tomcat/util/net/SocketWrapperBase<Lorg/apache/tomcat/util/net/NioChannel;>;
0 1 2 event Lorg/apache/tomcat/util/net/SocketEvent;
Signature: (Lorg/apache/tomcat/util/net/SocketWrapperBase<Lorg/apache/tomcat/util/net/NioChannel;>;Lorg/apache/tomcat/util/net/SocketEvent;)Lorg/apache/tomcat/util/net/SocketProcessorBase<Lorg/apache/tomcat/util/net/NioChannel;>;
MethodParameters:
Name Flags
socketWrapper
event
protected java.lang.Object serverSocketAccept();
descriptor: ()Ljava/lang/Object;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept:()Ljava/nio/channels/SocketChannel;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
protected boolean setSocketOptions(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.nio.channels.SocketChannel
invokevirtual org.apache.tomcat.util.net.NioEndpoint.setSocketOptions:(Ljava/nio/channels/SocketChannel;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
protected void destroySocket(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.nio.channels.SocketChannel
invokevirtual org.apache.tomcat.util.net.NioEndpoint.destroySocket:(Ljava/nio/channels/SocketChannel;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lorg/apache/tomcat/util/net/AbstractJsseEndpoint<Lorg/apache/tomcat/util/net/NioChannel;Ljava/nio/channels/SocketChannel;>;
SourceFile: "NioEndpoint.java"
NestMembers:
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper$NioOperationState org.apache.tomcat.util.net.NioEndpoint$Poller org.apache.tomcat.util.net.NioEndpoint$PollerEvent org.apache.tomcat.util.net.NioEndpoint$SendfileData org.apache.tomcat.util.net.NioEndpoint$SocketProcessor
InnerClasses:
public abstract Handler = org.apache.tomcat.util.net.AbstractEndpoint$Handler of org.apache.tomcat.util.net.AbstractEndpoint
public NioSocketWrapper = org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper of org.apache.tomcat.util.net.NioEndpoint
public Poller = org.apache.tomcat.util.net.NioEndpoint$Poller of org.apache.tomcat.util.net.NioEndpoint
public PollerEvent = org.apache.tomcat.util.net.NioEndpoint$PollerEvent of org.apache.tomcat.util.net.NioEndpoint
public SendfileData = org.apache.tomcat.util.net.NioEndpoint$SendfileData of org.apache.tomcat.util.net.NioEndpoint
protected SocketProcessor = org.apache.tomcat.util.net.NioEndpoint$SocketProcessor of org.apache.tomcat.util.net.NioEndpoint