public class io.netty.channel.pool.FixedChannelPool extends io.netty.channel.pool.SimpleChannelPool
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.channel.pool.FixedChannelPool
super_class: io.netty.channel.pool.SimpleChannelPool
{
private static final java.lang.IllegalStateException FULL_EXCEPTION;
descriptor: Ljava/lang/IllegalStateException;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.concurrent.TimeoutException TIMEOUT_EXCEPTION;
descriptor: Ljava/util/concurrent/TimeoutException;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final java.lang.IllegalStateException POOL_CLOSED_ON_RELEASE_EXCEPTION;
descriptor: Ljava/lang/IllegalStateException;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.IllegalStateException POOL_CLOSED_ON_ACQUIRE_EXCEPTION;
descriptor: Ljava/lang/IllegalStateException;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private final io.netty.util.concurrent.EventExecutor executor;
descriptor: Lio/netty/util/concurrent/EventExecutor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long acquireTimeoutNanos;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Runnable timeoutTask;
descriptor: Ljava/lang/Runnable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Queue<io.netty.channel.pool.FixedChannelPool$AcquireTask> pendingAcquireQueue;
descriptor: Ljava/util/Queue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Queue<Lio/netty/channel/pool/FixedChannelPool$AcquireTask;>;
private final int maxConnections;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int maxPendingAcquires;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int acquiredChannelCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int pendingAcquireCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean closed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$io$netty$channel$pool$FixedChannelPool$AcquireTimeoutAction;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lio/netty/channel/pool/FixedChannelPool;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic io.netty.channel.pool.FixedChannelPool.$assertionsDisabled:Z
3: new java.lang.IllegalStateException
dup
ldc "Too many outstanding acquire operations"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
4: ldc Lio/netty/channel/pool/FixedChannelPool;
ldc "acquire0(...)"
5: invokestatic io.netty.util.internal.ThrowableUtil.unknownStackTrace:(Ljava/lang/Throwable;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Throwable;
checkcast java.lang.IllegalStateException
putstatic io.netty.channel.pool.FixedChannelPool.FULL_EXCEPTION:Ljava/lang/IllegalStateException;
6: new java.util.concurrent.TimeoutException
dup
ldc "Acquire operation took longer then configured maximum time"
invokespecial java.util.concurrent.TimeoutException.<init>:(Ljava/lang/String;)V
7: ldc Lio/netty/channel/pool/FixedChannelPool;
ldc "<init>(...)"
8: invokestatic io.netty.util.internal.ThrowableUtil.unknownStackTrace:(Ljava/lang/Throwable;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Throwable;
checkcast java.util.concurrent.TimeoutException
putstatic io.netty.channel.pool.FixedChannelPool.TIMEOUT_EXCEPTION:Ljava/util/concurrent/TimeoutException;
9: new java.lang.IllegalStateException
dup
ldc "FixedChannelPool was closed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
10: ldc Lio/netty/channel/pool/FixedChannelPool;
ldc "release(...)"
11: invokestatic io.netty.util.internal.ThrowableUtil.unknownStackTrace:(Ljava/lang/Throwable;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Throwable;
checkcast java.lang.IllegalStateException
putstatic io.netty.channel.pool.FixedChannelPool.POOL_CLOSED_ON_RELEASE_EXCEPTION:Ljava/lang/IllegalStateException;
12: new java.lang.IllegalStateException
dup
ldc "FixedChannelPool was closed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
13: ldc Lio/netty/channel/pool/FixedChannelPool;
ldc "acquire0(...)"
14: invokestatic io.netty.util.internal.ThrowableUtil.unknownStackTrace:(Ljava/lang/Throwable;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Throwable;
checkcast java.lang.IllegalStateException
putstatic io.netty.channel.pool.FixedChannelPool.POOL_CLOSED_ON_ACQUIRE_EXCEPTION:Ljava/lang/IllegalStateException;
15: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(io.netty.bootstrap.Bootstrap, io.netty.channel.pool.ChannelPoolHandler, int);
descriptor: (Lio/netty/bootstrap/Bootstrap;Lio/netty/channel/pool/ChannelPoolHandler;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
ldc 2147483647
invokespecial io.netty.channel.pool.FixedChannelPool.<init>:(Lio/netty/bootstrap/Bootstrap;Lio/netty/channel/pool/ChannelPoolHandler;II)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/pool/FixedChannelPool;
0 2 1 bootstrap Lio/netty/bootstrap/Bootstrap;
0 2 2 handler Lio/netty/channel/pool/ChannelPoolHandler;
0 2 3 maxConnections I
MethodParameters:
Name Flags
bootstrap
handler
maxConnections
public void <init>(io.netty.bootstrap.Bootstrap, io.netty.channel.pool.ChannelPoolHandler, int, int);
descriptor: (Lio/netty/bootstrap/Bootstrap;Lio/netty/channel/pool/ChannelPoolHandler;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
getstatic io.netty.channel.pool.ChannelHealthChecker.ACTIVE:Lio/netty/channel/pool/ChannelHealthChecker;
aconst_null
ldc -1
iload 3
iload 4
invokespecial io.netty.channel.pool.FixedChannelPool.<init>:(Lio/netty/bootstrap/Bootstrap;Lio/netty/channel/pool/ChannelPoolHandler;Lio/netty/channel/pool/ChannelHealthChecker;Lio/netty/channel/pool/FixedChannelPool$AcquireTimeoutAction;JII)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/pool/FixedChannelPool;
0 2 1 bootstrap Lio/netty/bootstrap/Bootstrap;
0 2 2 handler Lio/netty/channel/pool/ChannelPoolHandler;
0 2 3 maxConnections I
0 2 4 maxPendingAcquires I
MethodParameters:
Name Flags
bootstrap
handler
maxConnections
maxPendingAcquires
public void <init>(io.netty.bootstrap.Bootstrap, io.netty.channel.pool.ChannelPoolHandler, io.netty.channel.pool.ChannelHealthChecker, io.netty.channel.pool.FixedChannelPool$AcquireTimeoutAction, long, int, int);
descriptor: (Lio/netty/bootstrap/Bootstrap;Lio/netty/channel/pool/ChannelPoolHandler;Lio/netty/channel/pool/ChannelHealthChecker;Lio/netty/channel/pool/FixedChannelPool$AcquireTimeoutAction;JII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=9, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 7 start local 8 0: aload 0
aload 1
aload 2
aload 3
aload 4
lload 5
iload 7
iload 8
iconst_1
invokespecial io.netty.channel.pool.FixedChannelPool.<init>:(Lio/netty/bootstrap/Bootstrap;Lio/netty/channel/pool/ChannelPoolHandler;Lio/netty/channel/pool/ChannelHealthChecker;Lio/netty/channel/pool/FixedChannelPool$AcquireTimeoutAction;JIIZ)V
1: return
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 2 0 this Lio/netty/channel/pool/FixedChannelPool;
0 2 1 bootstrap Lio/netty/bootstrap/Bootstrap;
0 2 2 handler Lio/netty/channel/pool/ChannelPoolHandler;
0 2 3 healthCheck Lio/netty/channel/pool/ChannelHealthChecker;
0 2 4 action Lio/netty/channel/pool/FixedChannelPool$AcquireTimeoutAction;
0 2 5 acquireTimeoutMillis J
0 2 7 maxConnections I
0 2 8 maxPendingAcquires I
MethodParameters:
Name Flags
bootstrap
handler
healthCheck
action
acquireTimeoutMillis final
maxConnections
maxPendingAcquires
public void <init>(io.netty.bootstrap.Bootstrap, io.netty.channel.pool.ChannelPoolHandler, io.netty.channel.pool.ChannelHealthChecker, io.netty.channel.pool.FixedChannelPool$AcquireTimeoutAction, long, int, int, boolean);
descriptor: (Lio/netty/bootstrap/Bootstrap;Lio/netty/channel/pool/ChannelPoolHandler;Lio/netty/channel/pool/ChannelHealthChecker;Lio/netty/channel/pool/FixedChannelPool$AcquireTimeoutAction;JIIZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=10, args_size=9
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 0: aload 0
aload 1
aload 2
aload 3
aload 4
lload 5
iload 7
iload 8
1: iload 9
iconst_1
invokespecial io.netty.channel.pool.FixedChannelPool.<init>:(Lio/netty/bootstrap/Bootstrap;Lio/netty/channel/pool/ChannelPoolHandler;Lio/netty/channel/pool/ChannelHealthChecker;Lio/netty/channel/pool/FixedChannelPool$AcquireTimeoutAction;JIIZZ)V
2: return
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 3 0 this Lio/netty/channel/pool/FixedChannelPool;
0 3 1 bootstrap Lio/netty/bootstrap/Bootstrap;
0 3 2 handler Lio/netty/channel/pool/ChannelPoolHandler;
0 3 3 healthCheck Lio/netty/channel/pool/ChannelHealthChecker;
0 3 4 action Lio/netty/channel/pool/FixedChannelPool$AcquireTimeoutAction;
0 3 5 acquireTimeoutMillis J
0 3 7 maxConnections I
0 3 8 maxPendingAcquires I
0 3 9 releaseHealthCheck Z
MethodParameters:
Name Flags
bootstrap
handler
healthCheck
action
acquireTimeoutMillis final
maxConnections
maxPendingAcquires
releaseHealthCheck final
public void <init>(io.netty.bootstrap.Bootstrap, io.netty.channel.pool.ChannelPoolHandler, io.netty.channel.pool.ChannelHealthChecker, io.netty.channel.pool.FixedChannelPool$AcquireTimeoutAction, long, int, int, boolean, boolean);
descriptor: (Lio/netty/bootstrap/Bootstrap;Lio/netty/channel/pool/ChannelPoolHandler;Lio/netty/channel/pool/ChannelHealthChecker;Lio/netty/channel/pool/FixedChannelPool$AcquireTimeoutAction;JIIZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, 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
aload 1
aload 2
aload 3
iload 9
iload 10
invokespecial io.netty.channel.pool.SimpleChannelPool.<init>:(Lio/netty/bootstrap/Bootstrap;Lio/netty/channel/pool/ChannelPoolHandler;Lio/netty/channel/pool/ChannelHealthChecker;ZZ)V
1: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield io.netty.channel.pool.FixedChannelPool.pendingAcquireQueue:Ljava/util/Queue;
2: iload 7
iconst_1
if_icmpge 4
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "maxConnections: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " (expected: >= 1)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: io.netty.channel.pool.FixedChannelPool io.netty.bootstrap.Bootstrap io.netty.channel.pool.ChannelPoolHandler io.netty.channel.pool.ChannelHealthChecker io.netty.channel.pool.FixedChannelPool$AcquireTimeoutAction long int int int int
StackMap stack:
iload 8
iconst_1
if_icmpge 6
5: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "maxPendingAcquires: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " (expected: >= 1)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 4
ifnonnull 10
lload 5
ldc -1
lcmp
ifne 10
7: aload 0
aconst_null
putfield io.netty.channel.pool.FixedChannelPool.timeoutTask:Ljava/lang/Runnable;
8: aload 0
ldc -1
putfield io.netty.channel.pool.FixedChannelPool.acquireTimeoutNanos:J
9: goto 21
StackMap locals:
StackMap stack:
10: aload 4
ifnonnull 12
lload 5
ldc -1
lcmp
ifeq 12
11: new java.lang.NullPointerException
dup
ldc "action"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 4
ifnull 14
lload 5
lconst_0
lcmp
ifge 14
13: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "acquireTimeoutMillis: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 5
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " (expected: >= 0)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
lload 5
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
putfield io.netty.channel.pool.FixedChannelPool.acquireTimeoutNanos:J
15: invokestatic io.netty.channel.pool.FixedChannelPool.$SWITCH_TABLE$io$netty$channel$pool$FixedChannelPool$AcquireTimeoutAction:()[I
aload 4
invokevirtual io.netty.channel.pool.FixedChannelPool$AcquireTimeoutAction.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 18
2: 16
default: 20
}
16: StackMap locals:
StackMap stack:
aload 0
new io.netty.channel.pool.FixedChannelPool$1
dup
aload 0
aload 0
invokespecial io.netty.channel.pool.FixedChannelPool$1.<init>:(Lio/netty/channel/pool/FixedChannelPool;Lio/netty/channel/pool/FixedChannelPool;)V
putfield io.netty.channel.pool.FixedChannelPool.timeoutTask:Ljava/lang/Runnable;
17: goto 21
18: StackMap locals:
StackMap stack:
aload 0
new io.netty.channel.pool.FixedChannelPool$2
dup
aload 0
aload 0
invokespecial io.netty.channel.pool.FixedChannelPool$2.<init>:(Lio/netty/channel/pool/FixedChannelPool;Lio/netty/channel/pool/FixedChannelPool;)V
putfield io.netty.channel.pool.FixedChannelPool.timeoutTask:Ljava/lang/Runnable;
19: goto 21
20: StackMap locals:
StackMap stack:
new java.lang.Error
dup
invokespecial java.lang.Error.<init>:()V
athrow
21: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.netty.bootstrap.Bootstrap.config:()Lio/netty/bootstrap/BootstrapConfig;
invokevirtual io.netty.bootstrap.BootstrapConfig.group:()Lio/netty/channel/EventLoopGroup;
invokeinterface io.netty.channel.EventLoopGroup.next:()Lio/netty/channel/EventLoop;
putfield io.netty.channel.pool.FixedChannelPool.executor:Lio/netty/util/concurrent/EventExecutor;
22: aload 0
iload 7
putfield io.netty.channel.pool.FixedChannelPool.maxConnections:I
23: aload 0
iload 8
putfield io.netty.channel.pool.FixedChannelPool.maxPendingAcquires:I
24: return
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 25 0 this Lio/netty/channel/pool/FixedChannelPool;
0 25 1 bootstrap Lio/netty/bootstrap/Bootstrap;
0 25 2 handler Lio/netty/channel/pool/ChannelPoolHandler;
0 25 3 healthCheck Lio/netty/channel/pool/ChannelHealthChecker;
0 25 4 action Lio/netty/channel/pool/FixedChannelPool$AcquireTimeoutAction;
0 25 5 acquireTimeoutMillis J
0 25 7 maxConnections I
0 25 8 maxPendingAcquires I
0 25 9 releaseHealthCheck Z
0 25 10 lastRecentUsed Z
MethodParameters:
Name Flags
bootstrap
handler
healthCheck
action
acquireTimeoutMillis final
maxConnections
maxPendingAcquires
releaseHealthCheck
lastRecentUsed
public io.netty.util.concurrent.Future<io.netty.channel.Channel> acquire(io.netty.util.concurrent.Promise<io.netty.channel.Channel>);
descriptor: (Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.channel.pool.FixedChannelPool.executor:Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:()Z
ifeq 3
1: aload 0
aload 1
invokevirtual io.netty.channel.pool.FixedChannelPool.acquire0:(Lio/netty/util/concurrent/Promise;)V
2: goto 7
3: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.channel.pool.FixedChannelPool.executor:Lio/netty/util/concurrent/EventExecutor;
new io.netty.channel.pool.FixedChannelPool$3
dup
aload 0
aload 1
invokespecial io.netty.channel.pool.FixedChannelPool$3.<init>:(Lio/netty/channel/pool/FixedChannelPool;Lio/netty/util/concurrent/Promise;)V
invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
4: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 2
start local 2 6: aload 1
aload 2
invokeinterface io.netty.util.concurrent.Promise.setFailure:(Ljava/lang/Throwable;)Lio/netty/util/concurrent/Promise;
pop
end local 2 7: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/channel/pool/FixedChannelPool;
0 8 1 promise Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;
6 7 2 cause Ljava/lang/Throwable;
Exception table:
from to target type
0 4 5 Class java.lang.Throwable
Signature: (Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;)Lio/netty/util/concurrent/Future<Lio/netty/channel/Channel;>;
MethodParameters:
Name Flags
promise final
private void acquire0(io.netty.util.concurrent.Promise<io.netty.channel.Channel>);
descriptor: (Lio/netty/util/concurrent/Promise;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: getstatic io.netty.channel.pool.FixedChannelPool.$assertionsDisabled:Z
ifne 1
aload 0
getfield io.netty.channel.pool.FixedChannelPool.executor:Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.channel.pool.FixedChannelPool.closed:Z
ifeq 4
2: aload 1
getstatic io.netty.channel.pool.FixedChannelPool.POOL_CLOSED_ON_ACQUIRE_EXCEPTION:Ljava/lang/IllegalStateException;
invokeinterface io.netty.util.concurrent.Promise.setFailure:(Ljava/lang/Throwable;)Lio/netty/util/concurrent/Promise;
pop
3: return
4: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.channel.pool.FixedChannelPool.acquiredChannelCount:I
aload 0
getfield io.netty.channel.pool.FixedChannelPool.maxConnections:I
if_icmpge 12
5: getstatic io.netty.channel.pool.FixedChannelPool.$assertionsDisabled:Z
ifne 6
aload 0
getfield io.netty.channel.pool.FixedChannelPool.acquiredChannelCount:I
ifge 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.channel.pool.FixedChannelPool.executor:Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.newPromise:()Lio/netty/util/concurrent/Promise;
astore 2
start local 2 7: new io.netty.channel.pool.FixedChannelPool$AcquireListener
dup
aload 0
aload 1
invokespecial io.netty.channel.pool.FixedChannelPool$AcquireListener.<init>:(Lio/netty/channel/pool/FixedChannelPool;Lio/netty/util/concurrent/Promise;)V
astore 3
start local 3 8: aload 3
invokevirtual io.netty.channel.pool.FixedChannelPool$AcquireListener.acquired:()V
9: aload 2
aload 3
invokeinterface io.netty.util.concurrent.Promise.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/util/concurrent/Promise;
pop
10: aload 0
aload 2
invokespecial io.netty.channel.pool.SimpleChannelPool.acquire:(Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
pop
end local 3 end local 2 11: goto 23
12: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.channel.pool.FixedChannelPool.pendingAcquireCount:I
aload 0
getfield io.netty.channel.pool.FixedChannelPool.maxPendingAcquires:I
if_icmplt 15
13: aload 1
getstatic io.netty.channel.pool.FixedChannelPool.FULL_EXCEPTION:Ljava/lang/IllegalStateException;
invokeinterface io.netty.util.concurrent.Promise.setFailure:(Ljava/lang/Throwable;)Lio/netty/util/concurrent/Promise;
pop
14: goto 22
15: StackMap locals:
StackMap stack:
new io.netty.channel.pool.FixedChannelPool$AcquireTask
dup
aload 0
aload 1
invokespecial io.netty.channel.pool.FixedChannelPool$AcquireTask.<init>:(Lio/netty/channel/pool/FixedChannelPool;Lio/netty/util/concurrent/Promise;)V
astore 2
start local 2 16: aload 0
getfield io.netty.channel.pool.FixedChannelPool.pendingAcquireQueue:Ljava/util/Queue;
aload 2
invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
ifeq 21
17: aload 0
dup
getfield io.netty.channel.pool.FixedChannelPool.pendingAcquireCount:I
iconst_1
iadd
putfield io.netty.channel.pool.FixedChannelPool.pendingAcquireCount:I
18: aload 0
getfield io.netty.channel.pool.FixedChannelPool.timeoutTask:Ljava/lang/Runnable;
ifnull 22
19: aload 2
aload 0
getfield io.netty.channel.pool.FixedChannelPool.executor:Lio/netty/util/concurrent/EventExecutor;
aload 0
getfield io.netty.channel.pool.FixedChannelPool.timeoutTask:Ljava/lang/Runnable;
aload 0
getfield io.netty.channel.pool.FixedChannelPool.acquireTimeoutNanos:J
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface io.netty.util.concurrent.EventExecutor.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/netty/util/concurrent/ScheduledFuture;
putfield io.netty.channel.pool.FixedChannelPool$AcquireTask.timeoutFuture:Ljava/util/concurrent/ScheduledFuture;
20: goto 22
21: StackMap locals: io.netty.channel.pool.FixedChannelPool$AcquireTask
StackMap stack:
aload 1
getstatic io.netty.channel.pool.FixedChannelPool.FULL_EXCEPTION:Ljava/lang/IllegalStateException;
invokeinterface io.netty.util.concurrent.Promise.setFailure:(Ljava/lang/Throwable;)Lio/netty/util/concurrent/Promise;
pop
end local 2 22: StackMap locals:
StackMap stack:
getstatic io.netty.channel.pool.FixedChannelPool.$assertionsDisabled:Z
ifne 23
aload 0
getfield io.netty.channel.pool.FixedChannelPool.pendingAcquireCount:I
ifgt 23
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
23: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lio/netty/channel/pool/FixedChannelPool;
0 24 1 promise Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;
7 11 2 p Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;
8 11 3 l Lio/netty/channel/pool/FixedChannelPool$AcquireListener;
16 22 2 task Lio/netty/channel/pool/FixedChannelPool$AcquireTask;
Signature: (Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;)V
MethodParameters:
Name Flags
promise final
public io.netty.util.concurrent.Future<java.lang.Void> release(io.netty.channel.Channel, io.netty.util.concurrent.Promise<java.lang.Void>);
descriptor: (Lio/netty/channel/Channel;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ldc "promise"
invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
getfield io.netty.channel.pool.FixedChannelPool.executor:Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.newPromise:()Lio/netty/util/concurrent/Promise;
astore 3
start local 3 2: aload 0
aload 1
aload 3
new io.netty.channel.pool.FixedChannelPool$4
dup
aload 0
aload 1
aload 2
invokespecial io.netty.channel.pool.FixedChannelPool$4.<init>:(Lio/netty/channel/pool/FixedChannelPool;Lio/netty/channel/Channel;Lio/netty/util/concurrent/Promise;)V
invokeinterface io.netty.util.concurrent.Promise.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/util/concurrent/Promise;
invokespecial io.netty.channel.pool.SimpleChannelPool.release:(Lio/netty/channel/Channel;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
pop
3: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/channel/pool/FixedChannelPool;
0 4 1 channel Lio/netty/channel/Channel;
0 4 2 promise Lio/netty/util/concurrent/Promise<Ljava/lang/Void;>;
2 4 3 p Lio/netty/util/concurrent/Promise<Ljava/lang/Void;>;
Signature: (Lio/netty/channel/Channel;Lio/netty/util/concurrent/Promise<Ljava/lang/Void;>;)Lio/netty/util/concurrent/Future<Ljava/lang/Void;>;
MethodParameters:
Name Flags
channel final
promise final
private void decrementAndRunTaskQueue();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield io.netty.channel.pool.FixedChannelPool.acquiredChannelCount:I
iconst_1
isub
putfield io.netty.channel.pool.FixedChannelPool.acquiredChannelCount:I
1: getstatic io.netty.channel.pool.FixedChannelPool.$assertionsDisabled:Z
ifne 2
aload 0
getfield io.netty.channel.pool.FixedChannelPool.acquiredChannelCount:I
ifge 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.channel.pool.FixedChannelPool.runTaskQueue:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/channel/pool/FixedChannelPool;
private void runTaskQueue();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: goto 10
1: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.channel.pool.FixedChannelPool.pendingAcquireQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
checkcast io.netty.channel.pool.FixedChannelPool$AcquireTask
astore 1
start local 1 2: aload 1
ifnonnull 4
3: goto 11
4: StackMap locals: io.netty.channel.pool.FixedChannelPool$AcquireTask
StackMap stack:
aload 1
getfield io.netty.channel.pool.FixedChannelPool$AcquireTask.timeoutFuture:Ljava/util/concurrent/ScheduledFuture;
astore 2
start local 2 5: aload 2
ifnull 7
6: aload 2
iconst_0
invokeinterface java.util.concurrent.ScheduledFuture.cancel:(Z)Z
pop
7: StackMap locals: java.util.concurrent.ScheduledFuture
StackMap stack:
aload 0
dup
getfield io.netty.channel.pool.FixedChannelPool.pendingAcquireCount:I
iconst_1
isub
putfield io.netty.channel.pool.FixedChannelPool.pendingAcquireCount:I
8: aload 1
invokevirtual io.netty.channel.pool.FixedChannelPool$AcquireTask.acquired:()V
9: aload 0
aload 1
getfield io.netty.channel.pool.FixedChannelPool$AcquireTask.promise:Lio/netty/util/concurrent/Promise;
invokespecial io.netty.channel.pool.SimpleChannelPool.acquire:(Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
pop
end local 2 end local 1 10: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.channel.pool.FixedChannelPool.acquiredChannelCount:I
aload 0
getfield io.netty.channel.pool.FixedChannelPool.maxConnections:I
if_icmplt 1
11: StackMap locals:
StackMap stack:
getstatic io.netty.channel.pool.FixedChannelPool.$assertionsDisabled:Z
ifne 12
aload 0
getfield io.netty.channel.pool.FixedChannelPool.pendingAcquireCount:I
ifge 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
getstatic io.netty.channel.pool.FixedChannelPool.$assertionsDisabled:Z
ifne 13
aload 0
getfield io.netty.channel.pool.FixedChannelPool.acquiredChannelCount:I
ifge 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lio/netty/channel/pool/FixedChannelPool;
2 10 1 task Lio/netty/channel/pool/FixedChannelPool$AcquireTask;
5 10 2 timeoutFuture Ljava/util/concurrent/ScheduledFuture<*>;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.pool.FixedChannelPool.executor:Lio/netty/util/concurrent/EventExecutor;
new io.netty.channel.pool.FixedChannelPool$5
dup
aload 0
invokespecial io.netty.channel.pool.FixedChannelPool$5.<init>:(Lio/netty/channel/pool/FixedChannelPool;)V
invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/pool/FixedChannelPool;
static io.netty.util.concurrent.Future access$0(io.netty.channel.pool.FixedChannelPool, io.netty.util.concurrent.Promise);
descriptor: (Lio/netty/channel/pool/FixedChannelPool;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokespecial io.netty.channel.pool.SimpleChannelPool.acquire:(Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
areturn
LocalVariableTable:
Start End Slot Name Signature
static int[] $SWITCH_TABLE$io$netty$channel$pool$FixedChannelPool$AcquireTimeoutAction();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.netty.channel.pool.FixedChannelPool.$SWITCH_TABLE$io$netty$channel$pool$FixedChannelPool$AcquireTimeoutAction:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic io.netty.channel.pool.FixedChannelPool$AcquireTimeoutAction.values:()[Lio/netty/channel/pool/FixedChannelPool$AcquireTimeoutAction;
arraylength
newarray 10
astore 0
2: aload 0
getstatic io.netty.channel.pool.FixedChannelPool$AcquireTimeoutAction.FAIL:Lio/netty/channel/pool/FixedChannelPool$AcquireTimeoutAction;
invokevirtual io.netty.channel.pool.FixedChannelPool$AcquireTimeoutAction.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic io.netty.channel.pool.FixedChannelPool$AcquireTimeoutAction.NEW:Lio/netty/channel/pool/FixedChannelPool$AcquireTimeoutAction;
invokevirtual io.netty.channel.pool.FixedChannelPool$AcquireTimeoutAction.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
dup
putstatic io.netty.channel.pool.FixedChannelPool.$SWITCH_TABLE$io$netty$channel$pool$FixedChannelPool$AcquireTimeoutAction:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
static void access$2(io.netty.channel.pool.FixedChannelPool);
descriptor: (Lio/netty/channel/pool/FixedChannelPool;)V
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial io.netty.channel.pool.SimpleChannelPool.close:()V
return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "FixedChannelPool.java"
NestMembers:
io.netty.channel.pool.FixedChannelPool$1 io.netty.channel.pool.FixedChannelPool$2 io.netty.channel.pool.FixedChannelPool$3 io.netty.channel.pool.FixedChannelPool$4 io.netty.channel.pool.FixedChannelPool$5 io.netty.channel.pool.FixedChannelPool$AcquireListener io.netty.channel.pool.FixedChannelPool$AcquireTask io.netty.channel.pool.FixedChannelPool$AcquireTimeoutAction io.netty.channel.pool.FixedChannelPool$TimeoutTask
InnerClasses:
io.netty.channel.pool.FixedChannelPool$1
io.netty.channel.pool.FixedChannelPool$2
io.netty.channel.pool.FixedChannelPool$3
io.netty.channel.pool.FixedChannelPool$4
io.netty.channel.pool.FixedChannelPool$5
private AcquireListener = io.netty.channel.pool.FixedChannelPool$AcquireListener of io.netty.channel.pool.FixedChannelPool
private final AcquireTask = io.netty.channel.pool.FixedChannelPool$AcquireTask of io.netty.channel.pool.FixedChannelPool
public final AcquireTimeoutAction = io.netty.channel.pool.FixedChannelPool$AcquireTimeoutAction of io.netty.channel.pool.FixedChannelPool
private abstract TimeoutTask = io.netty.channel.pool.FixedChannelPool$TimeoutTask of io.netty.channel.pool.FixedChannelPool