public class com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup
super_class: java.lang.Object
{
private static final com.mongodb.diagnostics.logging.Logger LOGGER;
descriptor: Lcom/mongodb/diagnostics/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int QUEUE_LENGTH_MULTIPLIER;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static java.util.concurrent.atomic.AtomicInteger globalGroupCount;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private final int id;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicBoolean loggedTaskWarning;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.channels.Selector selector;
descriptor: Ljava/nio/channels/Selector;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final java.util.concurrent.ExecutorService executor;
descriptor: Ljava/util/concurrent/ExecutorService;
flags: (0x0010) ACC_FINAL
private final java.util.concurrent.ScheduledThreadPoolExecutor timeoutExecutor;
descriptor: Ljava/util/concurrent/ScheduledThreadPoolExecutor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Thread selectorThread;
descriptor: Ljava/lang/Thread;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.ConcurrentLinkedQueue<com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket> pendingRegistrations;
descriptor: Ljava/util/concurrent/ConcurrentLinkedQueue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentLinkedQueue<Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;>;
private volatile com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$Shutdown shutdown;
descriptor: Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private java.util.concurrent.atomic.LongAdder selectionCount;
descriptor: Ljava/util/concurrent/atomic/LongAdder;
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.atomic.LongAdder startedReads;
descriptor: Ljava/util/concurrent/atomic/LongAdder;
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.atomic.LongAdder startedWrites;
descriptor: Ljava/util/concurrent/atomic/LongAdder;
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.atomic.LongAdder successfulReads;
descriptor: Ljava/util/concurrent/atomic/LongAdder;
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.atomic.LongAdder successfulWrites;
descriptor: Ljava/util/concurrent/atomic/LongAdder;
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.atomic.LongAdder failedReads;
descriptor: Ljava/util/concurrent/atomic/LongAdder;
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.atomic.LongAdder failedWrites;
descriptor: Ljava/util/concurrent/atomic/LongAdder;
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.atomic.LongAdder cancelledReads;
descriptor: Ljava/util/concurrent/atomic/LongAdder;
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.atomic.LongAdder cancelledWrites;
descriptor: Ljava/util/concurrent/atomic/LongAdder;
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.atomic.AtomicInteger currentRegistrations;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.atomic.LongAdder currentReads;
descriptor: Ljava/util/concurrent/atomic/LongAdder;
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.atomic.LongAdder currentWrites;
descriptor: Ljava/util/concurrent/atomic/LongAdder;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "connection.tls"
invokestatic com.mongodb.diagnostics.logging.Loggers.getLogger:(Ljava/lang/String;)Lcom/mongodb/diagnostics/logging/Logger;
putstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
1: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
putstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.globalGroupCount:Ljava/util/concurrent/atomic/AtomicInteger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=12, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
getstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.globalGroupCount:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.id:I
2: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.loggedTaskWarning:Ljava/util/concurrent/atomic/AtomicBoolean;
3: aload 0
new java.util.concurrent.ScheduledThreadPoolExecutor
dup
iconst_1
new com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$1
dup
aload 0
invokespecial com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$1.<init>:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;)V
invokespecial java.util.concurrent.ScheduledThreadPoolExecutor.<init>:(ILjava/util/concurrent/ThreadFactory;)V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.timeoutExecutor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
4: aload 0
new java.lang.Thread
dup
new com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$2
dup
aload 0
invokespecial com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$2.<init>:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;)V
5: ldc "async-channel-group-%d-selector"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.id:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
6: invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;Ljava/lang/String;)V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selectorThread:Ljava/lang/Thread;
7: aload 0
new java.util.concurrent.ConcurrentLinkedQueue
dup
invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.pendingRegistrations:Ljava/util/concurrent/ConcurrentLinkedQueue;
8: aload 0
getstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$Shutdown.No:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.shutdown:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
9: aload 0
new java.util.concurrent.atomic.LongAdder
dup
invokespecial java.util.concurrent.atomic.LongAdder.<init>:()V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selectionCount:Ljava/util/concurrent/atomic/LongAdder;
10: aload 0
new java.util.concurrent.atomic.LongAdder
dup
invokespecial java.util.concurrent.atomic.LongAdder.<init>:()V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.startedReads:Ljava/util/concurrent/atomic/LongAdder;
11: aload 0
new java.util.concurrent.atomic.LongAdder
dup
invokespecial java.util.concurrent.atomic.LongAdder.<init>:()V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.startedWrites:Ljava/util/concurrent/atomic/LongAdder;
12: aload 0
new java.util.concurrent.atomic.LongAdder
dup
invokespecial java.util.concurrent.atomic.LongAdder.<init>:()V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.successfulReads:Ljava/util/concurrent/atomic/LongAdder;
13: aload 0
new java.util.concurrent.atomic.LongAdder
dup
invokespecial java.util.concurrent.atomic.LongAdder.<init>:()V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.successfulWrites:Ljava/util/concurrent/atomic/LongAdder;
14: aload 0
new java.util.concurrent.atomic.LongAdder
dup
invokespecial java.util.concurrent.atomic.LongAdder.<init>:()V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.failedReads:Ljava/util/concurrent/atomic/LongAdder;
15: aload 0
new java.util.concurrent.atomic.LongAdder
dup
invokespecial java.util.concurrent.atomic.LongAdder.<init>:()V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.failedWrites:Ljava/util/concurrent/atomic/LongAdder;
16: aload 0
new java.util.concurrent.atomic.LongAdder
dup
invokespecial java.util.concurrent.atomic.LongAdder.<init>:()V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.cancelledReads:Ljava/util/concurrent/atomic/LongAdder;
17: aload 0
new java.util.concurrent.atomic.LongAdder
dup
invokespecial java.util.concurrent.atomic.LongAdder.<init>:()V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.cancelledWrites:Ljava/util/concurrent/atomic/LongAdder;
18: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.currentRegistrations:Ljava/util/concurrent/atomic/AtomicInteger;
19: aload 0
new java.util.concurrent.atomic.LongAdder
dup
invokespecial java.util.concurrent.atomic.LongAdder.<init>:()V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.currentReads:Ljava/util/concurrent/atomic/LongAdder;
20: aload 0
new java.util.concurrent.atomic.LongAdder
dup
invokespecial java.util.concurrent.atomic.LongAdder.<init>:()V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.currentWrites:Ljava/util/concurrent/atomic/LongAdder;
21: aload 0
invokestatic java.nio.channels.Selector.open:()Ljava/nio/channels/Selector;
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
22: goto 25
StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup int
StackMap stack: java.io.IOException
23: astore 2
start local 2 24: new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 25: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.timeoutExecutor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
iconst_1
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.setRemoveOnCancelPolicy:(Z)V
26: aload 0
new java.util.concurrent.ThreadPoolExecutor
dup
27: iload 1
iload 1
28: lconst_0
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
29: new java.util.concurrent.LinkedBlockingQueue
dup
iload 1
bipush 32
imul
invokespecial java.util.concurrent.LinkedBlockingQueue.<init>:(I)V
30: new com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$3
dup
aload 0
invokespecial com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$3.<init>:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;)V
31: new java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy
dup
invokespecial java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy.<init>:()V
invokespecial java.util.concurrent.ThreadPoolExecutor.<init>:(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;)V
32: putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.executor:Ljava/util/concurrent/ExecutorService;
33: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selectorThread:Ljava/lang/Thread;
invokevirtual java.lang.Thread.start:()V
34: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
0 35 1 nThreads I
24 25 2 e Ljava/io/IOException;
Exception table:
from to target type
21 22 23 Class java.io.IOException
MethodParameters:
Name Flags
nThreads final
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.availableProcessors:()I
invokespecial com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.<init>:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket registerSocket(com.mongodb.internal.connection.tlschannel.TlsChannel, java.nio.channels.SocketChannel);
descriptor: (Lcom/mongodb/internal/connection/tlschannel/TlsChannel;Ljava/nio/channels/SocketChannel;)Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.shutdown:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
getstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$Shutdown.No:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
if_acmpeq 2
1: new java.nio.channels.ShutdownChannelGroupException
dup
invokespecial java.nio.channels.ShutdownChannelGroupException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
new com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket
dup
aload 0
aload 1
aload 2
invokespecial com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.<init>:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;Lcom/mongodb/internal/connection/tlschannel/TlsChannel;Ljava/nio/channels/SocketChannel;)V
astore 3
start local 3 3: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.currentRegistrations:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
pop
4: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.pendingRegistrations:Ljava/util/concurrent/ConcurrentLinkedQueue;
aload 3
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.add:(Ljava/lang/Object;)Z
pop
5: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.wakeup:()Ljava/nio/channels/Selector;
pop
6: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
0 7 1 reader Lcom/mongodb/internal/connection/tlschannel/TlsChannel;
0 7 2 socketChannel Ljava/nio/channels/SocketChannel;
3 7 3 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
MethodParameters:
Name Flags
reader final
socketChannel final
boolean doCancelRead(com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket, com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation);
descriptor: (Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;)Z
flags: (0x0000)
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 2
ifnull 2
aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
aload 2
if_acmpeq 3
StackMap locals:
StackMap stack:
2: aload 2
ifnonnull 8
aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
ifnull 8
3: StackMap locals:
StackMap stack:
aload 1
aconst_null
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
4: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.cancelledReads:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.increment:()V
5: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.currentReads:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.decrement:()V
6: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
11: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
12: aload 3
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
0 13 1 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
0 13 2 op Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
Exception table:
from to target type
1 6 10 any
MethodParameters:
Name Flags
socket final
op final
boolean doCancelWrite(com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket, com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation);
descriptor: (Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;)Z
flags: (0x0000)
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 2
ifnull 2
aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
aload 2
if_acmpeq 3
StackMap locals:
StackMap stack:
2: aload 2
ifnonnull 8
aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
ifnull 8
3: StackMap locals:
StackMap stack:
aload 1
aconst_null
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
4: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.cancelledWrites:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.increment:()V
5: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.currentWrites:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.decrement:()V
6: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
11: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
12: aload 3
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
0 13 1 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
0 13 2 op Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
Exception table:
from to target type
1 6 10 any
MethodParameters:
Name Flags
socket final
op final
com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation startRead(com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket, com.mongodb.internal.connection.tlschannel.impl.ByteBufferSet, long, java.util.concurrent.TimeUnit, java.util.function.LongConsumer, java.util.function.Consumer<java.lang.Throwable>);
descriptor: (Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;Lcom/mongodb/internal/connection/tlschannel/impl/ByteBufferSet;JLjava/util/concurrent/TimeUnit;Ljava/util/function/LongConsumer;Ljava/util/function/Consumer;)Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
flags: (0x0000)
Code:
stack=7, locals=11, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 5 start local 6 start local 7 0: aload 0
invokevirtual com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.checkTerminated:()V
1: aload 2
invokevirtual com.mongodb.internal.connection.tlschannel.impl.ByteBufferSet.hasRemaining:()Z
invokestatic com.mongodb.internal.connection.tlschannel.util.Util.assertTrue:(Z)V
2: aload 0
aload 1
invokevirtual com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.waitForSocketRegistration:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;)V
3: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
4: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
ifnull 6
5: new java.nio.channels.ReadPendingException
dup
invokespecial java.nio.channels.ReadPendingException.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
new com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation
dup
aload 2
aload 6
aload 7
invokespecial com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation.<init>:(Lcom/mongodb/internal/connection/tlschannel/impl/ByteBufferSet;Ljava/util/function/LongConsumer;Ljava/util/function/Consumer;)V
astore 8
start local 8 7: aload 8
astore 9
start local 9 8: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.pendingOps:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_5
invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
9: lload 3
lconst_0
lcmp
ifeq 13
10: aload 8
aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.timeoutExecutor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
new com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$4
dup
aload 0
aload 1
aload 9
invokespecial com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$4.<init>:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;)V
11: lload 3
aload 5
12: invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation.timeoutFuture:Ljava/util/concurrent/Future;
13: StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation
StackMap stack:
aload 1
aload 8
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
end local 9 14: goto 18
end local 8 StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket com.mongodb.internal.connection.tlschannel.impl.ByteBufferSet long java.util.concurrent.TimeUnit java.util.function.LongConsumer java.util.function.Consumer
StackMap stack: java.lang.Throwable
15: astore 10
16: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
17: aload 10
athrow
start local 8 18: StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation
StackMap stack:
aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
19: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.wakeup:()Ljava/nio/channels/Selector;
pop
20: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.startedReads:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.increment:()V
21: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.currentReads:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.increment:()V
22: aload 8
areturn
end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
0 23 1 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
0 23 2 buffer Lcom/mongodb/internal/connection/tlschannel/impl/ByteBufferSet;
0 23 3 timeout J
0 23 5 unit Ljava/util/concurrent/TimeUnit;
0 23 6 onSuccess Ljava/util/function/LongConsumer;
0 23 7 onFailure Ljava/util/function/Consumer<Ljava/lang/Throwable;>;
7 15 8 op Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
18 23 8 op Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
8 14 9 finalOp Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
Exception table:
from to target type
4 15 15 any
Exceptions:
throws java.nio.channels.ReadPendingException
Signature: (Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;Lcom/mongodb/internal/connection/tlschannel/impl/ByteBufferSet;JLjava/util/concurrent/TimeUnit;Ljava/util/function/LongConsumer;Ljava/util/function/Consumer<Ljava/lang/Throwable;>;)Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
MethodParameters:
Name Flags
socket final
buffer final
timeout final
unit final
onSuccess final
onFailure final
com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation startWrite(com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket, com.mongodb.internal.connection.tlschannel.impl.ByteBufferSet, long, java.util.concurrent.TimeUnit, java.util.function.LongConsumer, java.util.function.Consumer<java.lang.Throwable>);
descriptor: (Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;Lcom/mongodb/internal/connection/tlschannel/impl/ByteBufferSet;JLjava/util/concurrent/TimeUnit;Ljava/util/function/LongConsumer;Ljava/util/function/Consumer;)Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
flags: (0x0000)
Code:
stack=7, locals=11, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 5 start local 6 start local 7 0: aload 0
invokevirtual com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.checkTerminated:()V
1: aload 2
invokevirtual com.mongodb.internal.connection.tlschannel.impl.ByteBufferSet.hasRemaining:()Z
invokestatic com.mongodb.internal.connection.tlschannel.util.Util.assertTrue:(Z)V
2: aload 0
aload 1
invokevirtual com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.waitForSocketRegistration:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;)V
3: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
4: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
ifnull 6
5: new java.nio.channels.WritePendingException
dup
invokespecial java.nio.channels.WritePendingException.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
new com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation
dup
aload 2
aload 6
aload 7
invokespecial com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.<init>:(Lcom/mongodb/internal/connection/tlschannel/impl/ByteBufferSet;Ljava/util/function/LongConsumer;Ljava/util/function/Consumer;)V
astore 8
start local 8 7: aload 8
astore 9
start local 9 8: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.pendingOps:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_5
invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
9: lload 3
lconst_0
lcmp
ifeq 13
10: aload 8
aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.timeoutExecutor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
new com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$5
dup
aload 0
aload 1
aload 9
invokespecial com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$5.<init>:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;)V
11: lload 3
aload 5
12: invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.timeoutFuture:Ljava/util/concurrent/Future;
13: StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation
StackMap stack:
aload 1
aload 8
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
end local 9 14: goto 18
end local 8 StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket com.mongodb.internal.connection.tlschannel.impl.ByteBufferSet long java.util.concurrent.TimeUnit java.util.function.LongConsumer java.util.function.Consumer
StackMap stack: java.lang.Throwable
15: astore 10
16: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
17: aload 10
athrow
start local 8 18: StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation
StackMap stack:
aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
19: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.wakeup:()Ljava/nio/channels/Selector;
pop
20: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.startedWrites:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.increment:()V
21: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.currentWrites:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.increment:()V
22: aload 8
areturn
end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
0 23 1 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
0 23 2 buffer Lcom/mongodb/internal/connection/tlschannel/impl/ByteBufferSet;
0 23 3 timeout J
0 23 5 unit Ljava/util/concurrent/TimeUnit;
0 23 6 onSuccess Ljava/util/function/LongConsumer;
0 23 7 onFailure Ljava/util/function/Consumer<Ljava/lang/Throwable;>;
7 15 8 op Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
18 23 8 op Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
8 14 9 finalOp Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
Exception table:
from to target type
4 15 15 any
Exceptions:
throws java.nio.channels.WritePendingException
Signature: (Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;Lcom/mongodb/internal/connection/tlschannel/impl/ByteBufferSet;JLjava/util/concurrent/TimeUnit;Ljava/util/function/LongConsumer;Ljava/util/function/Consumer<Ljava/lang/Throwable;>;)Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
MethodParameters:
Name Flags
socket final
buffer final
timeout final
unit final
onSuccess final
onFailure final
private void checkTerminated();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.isTerminated:()Z
ifeq 2
1: new java.nio.channels.ShutdownChannelGroupException
dup
invokespecial java.nio.channels.ShutdownChannelGroupException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
private void waitForSocketRegistration(com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket);
descriptor: (Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.registered:Ljava/util/concurrent/CountDownLatch;
invokevirtual java.util.concurrent.CountDownLatch.await:()V
1: goto 4
StackMap locals:
StackMap stack: java.lang.InterruptedException
2: astore 2
start local 2 3: new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
0 5 1 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
3 4 2 e Ljava/lang/InterruptedException;
Exception table:
from to target type
0 1 2 Class java.lang.InterruptedException
MethodParameters:
Name Flags
socket final
private void loop();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=1
start local 0 0: goto 18
1: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.select:()I
istore 1
start local 1 2: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selectionCount:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.increment:()V
3: iload 1
ifle 16
4: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.selectedKeys:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
start local 2 5: goto 15
6: StackMap locals: int java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.channels.SelectionKey
astore 3
start local 3 7: aload 2
invokeinterface java.util.Iterator.remove:()V
8: aload 3
iconst_0
invokevirtual java.nio.channels.SelectionKey.interestOps:(I)Ljava/nio/channels/SelectionKey;
pop
9: goto 12
StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup int java.util.Iterator java.nio.channels.SelectionKey
StackMap stack: java.nio.channels.CancelledKeyException
10: pop
11: goto 15
12: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.nio.channels.SelectionKey.attachment:()Ljava/lang/Object;
checkcast com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket
astore 4
start local 4 13: aload 0
aload 4
invokevirtual com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.processRead:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;)V
14: aload 0
aload 4
invokevirtual com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.processWrite:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;)V
end local 4 end local 3 15: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
end local 2 16: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.registerPendingSockets:()V
17: aload 0
invokevirtual com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.processPendingInterests:()V
end local 1 18: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.shutdown:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
getstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$Shutdown.No:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
if_acmpeq 1
aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.shutdown:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
getstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$Shutdown.Wait:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
if_acmpne 49
aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.currentRegistrations:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.intValue:()I
ifgt 1
19: goto 49
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 1
start local 1 21: getstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
ldc "error in selector loop"
aload 1
invokeinterface com.mongodb.diagnostics.logging.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 1 22: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.executor:Ljava/util/concurrent/ExecutorService;
invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
23: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.timeoutExecutor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.shutdownNow:()Ljava/util/List;
pop
24: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.shutdown:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
getstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$Shutdown.Immediate:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
if_acmpne 30
25: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.keys:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 29
StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup top top top top top top java.util.Iterator
StackMap stack:
26: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.channels.SelectionKey
astore 6
start local 6 27: aload 6
invokevirtual java.nio.channels.SelectionKey.attachment:()Ljava/lang/Object;
checkcast com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket
astore 8
start local 8 28: aload 8
invokevirtual com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.close:()V
end local 8 end local 6 29: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
30: StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.close:()V
31: goto 61
StackMap locals:
StackMap stack: java.io.IOException
32: astore 6
start local 6 33: getstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
ldc "error closing selector: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface com.mongodb.diagnostics.logging.Logger.warn:(Ljava/lang/String;)V
end local 6 34: goto 61
35: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
36: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.executor:Ljava/util/concurrent/ExecutorService;
invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
37: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.timeoutExecutor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.shutdownNow:()Ljava/util/List;
pop
38: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.shutdown:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
getstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$Shutdown.Immediate:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
if_acmpne 44
39: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.keys:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 43
StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup top top top top java.lang.Throwable top java.util.Iterator
StackMap stack:
40: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.channels.SelectionKey
astore 6
start local 6 41: aload 6
invokevirtual java.nio.channels.SelectionKey.attachment:()Ljava/lang/Object;
checkcast com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket
astore 8
start local 8 42: aload 8
invokevirtual com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.close:()V
end local 8 end local 6 43: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 40
44: StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup top top top top java.lang.Throwable
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.close:()V
45: goto 48
StackMap locals:
StackMap stack: java.io.IOException
46: astore 6
start local 6 47: getstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
ldc "error closing selector: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface com.mongodb.diagnostics.logging.Logger.warn:(Ljava/lang/String;)V
end local 6 48: StackMap locals:
StackMap stack:
aload 5
athrow
49: StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.executor:Ljava/util/concurrent/ExecutorService;
invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
50: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.timeoutExecutor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.shutdownNow:()Ljava/util/List;
pop
51: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.shutdown:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
getstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$Shutdown.Immediate:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
if_acmpne 57
52: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.keys:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 56
StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup top top top top top top java.util.Iterator
StackMap stack:
53: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.channels.SelectionKey
astore 6
start local 6 54: aload 6
invokevirtual java.nio.channels.SelectionKey.attachment:()Ljava/lang/Object;
checkcast com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket
astore 8
start local 8 55: aload 8
invokevirtual com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.close:()V
end local 8 end local 6 56: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 53
57: StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.close:()V
58: goto 61
StackMap locals:
StackMap stack: java.io.IOException
59: astore 6
start local 6 60: getstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
ldc "error closing selector: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface com.mongodb.diagnostics.logging.Logger.warn:(Ljava/lang/String;)V
end local 6 61: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 62 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
2 18 1 c I
5 16 2 it Ljava/util/Iterator<Ljava/nio/channels/SelectionKey;>;
7 15 3 key Ljava/nio/channels/SelectionKey;
13 15 4 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
21 22 1 e Ljava/lang/Throwable;
27 29 6 key Ljava/nio/channels/SelectionKey;
41 43 6 key Ljava/nio/channels/SelectionKey;
54 56 6 key Ljava/nio/channels/SelectionKey;
28 29 8 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
42 43 8 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
55 56 8 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
33 34 6 e Ljava/io/IOException;
47 48 6 e Ljava/io/IOException;
60 61 6 e Ljava/io/IOException;
Exception table:
from to target type
8 9 10 Class java.nio.channels.CancelledKeyException
0 19 20 Class java.lang.Throwable
30 31 32 Class java.io.IOException
0 22 35 any
44 45 46 Class java.io.IOException
57 58 59 Class java.io.IOException
private void processPendingInterests();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.keys:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 9
StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.channels.SelectionKey
astore 1
start local 1 2: aload 1
invokevirtual java.nio.channels.SelectionKey.attachment:()Ljava/lang/Object;
checkcast com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket
astore 3
start local 3 3: aload 3
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.pendingOps:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndSet:(I)I
istore 4
start local 4 4: iload 4
ifeq 9
5: aload 1
aload 1
invokevirtual java.nio.channels.SelectionKey.interestOps:()I
iload 4
ior
invokevirtual java.nio.channels.SelectionKey.interestOps:(I)Ljava/nio/channels/SelectionKey;
pop
6: goto 9
StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup java.nio.channels.SelectionKey java.util.Iterator com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket int
StackMap stack: java.nio.channels.CancelledKeyException
7: pop
8: goto 10
end local 4 end local 3 end local 1 9: StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
10: StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
2 9 1 key Ljava/nio/channels/SelectionKey;
3 9 3 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
4 9 4 pending I
Exception table:
from to target type
5 6 7 Class java.nio.channels.CancelledKeyException
private void processWrite(com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket);
descriptor: (Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
astore 2
start local 2 2: aload 2
ifnull 8
3: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.executor:Ljava/util/concurrent/ExecutorService;
new com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$6
dup
aload 0
aload 1
aload 2
invokespecial com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$6.<init>:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;)V
invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
end local 2 4: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 3
6: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
7: aload 3
athrow
8: StackMap locals:
StackMap stack:
aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
0 10 1 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
2 4 2 op Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
Exception table:
from to target type
1 5 5 any
MethodParameters:
Name Flags
socket final
private void processRead(com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket);
descriptor: (Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
astore 2
start local 2 2: aload 2
ifnull 8
3: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.executor:Ljava/util/concurrent/ExecutorService;
new com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$7
dup
aload 0
aload 1
aload 2
invokespecial com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$7.<init>:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;)V
invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
end local 2 4: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 3
6: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
7: aload 3
athrow
8: StackMap locals:
StackMap stack:
aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
0 10 1 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
2 4 2 op Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
Exception table:
from to target type
1 5 5 any
MethodParameters:
Name Flags
socket final
private void doWrite(com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket, com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation);
descriptor: (Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
aload 2
if_acmpeq 4
2: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
3: return
4: StackMap locals:
StackMap stack:
aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.bufferSet:Lcom/mongodb/internal/connection/tlschannel/impl/ByteBufferSet;
invokevirtual com.mongodb.internal.connection.tlschannel.impl.ByteBufferSet.remaining:()J
lstore 3
start local 3 5: aload 0
aload 1
aload 2
invokevirtual com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.writeHandlingTasks:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;)V
6: goto 14
StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation long
StackMap stack: java.lang.Throwable
7: astore 5
8: lload 3
aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.bufferSet:Lcom/mongodb/internal/connection/tlschannel/impl/ByteBufferSet;
invokevirtual com.mongodb.internal.connection.tlschannel.impl.ByteBufferSet.remaining:()J
lsub
lstore 6
start local 6 9: lload 6
lconst_0
lcmp
iflt 10
iconst_1
goto 11
StackMap locals: java.lang.Throwable long
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: invokestatic com.mongodb.internal.connection.tlschannel.util.Util.assertTrue:(Z)V
12: aload 2
dup
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.consumesBytes:J
lload 6
ladd
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.consumesBytes:J
end local 6 13: aload 5
athrow
14: StackMap locals:
StackMap stack:
lload 3
aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.bufferSet:Lcom/mongodb/internal/connection/tlschannel/impl/ByteBufferSet;
invokevirtual com.mongodb.internal.connection.tlschannel.impl.ByteBufferSet.remaining:()J
lsub
lstore 6
start local 6 15: lload 6
lconst_0
lcmp
iflt 16
iconst_1
goto 17
StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation long top long
StackMap stack:
16: iconst_0
StackMap locals:
StackMap stack: int
17: invokestatic com.mongodb.internal.connection.tlschannel.util.Util.assertTrue:(Z)V
18: aload 2
dup
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.consumesBytes:J
lload 6
ladd
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.consumesBytes:J
end local 6 19: aload 1
aconst_null
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
20: aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.timeoutFuture:Ljava/util/concurrent/Future;
ifnull 22
21: aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.timeoutFuture:Ljava/util/concurrent/Future;
iconst_0
invokeinterface java.util.concurrent.Future.cancel:(Z)Z
pop
22: StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation long
StackMap stack:
aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.onSuccess:Ljava/util/function/LongConsumer;
aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.consumesBytes:J
invokeinterface java.util.function.LongConsumer.accept:(J)V
23: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.successfulWrites:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.increment:()V
24: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.currentWrites:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.decrement:()V
end local 3 25: goto 44
StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation
StackMap stack: com.mongodb.internal.connection.tlschannel.NeedsReadException
26: pop
27: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.pendingOps:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_1
new com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$8
dup
aload 0
invokespecial com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$8.<init>:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;)V
invokevirtual java.util.concurrent.atomic.AtomicInteger.accumulateAndGet:(ILjava/util/function/IntBinaryOperator;)I
pop
28: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.wakeup:()Ljava/nio/channels/Selector;
pop
goto 44
29: StackMap locals:
StackMap stack: com.mongodb.internal.connection.tlschannel.NeedsWriteException
pop
30: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.pendingOps:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_4
new com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$9
dup
aload 0
invokespecial com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$9.<init>:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;)V
invokevirtual java.util.concurrent.atomic.AtomicInteger.accumulateAndGet:(ILjava/util/function/IntBinaryOperator;)I
pop
31: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.wakeup:()Ljava/nio/channels/Selector;
pop
goto 44
32: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 33: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
aload 2
if_acmpne 35
34: aload 1
aconst_null
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
35: StackMap locals: java.io.IOException
StackMap stack:
aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.timeoutFuture:Ljava/util/concurrent/Future;
ifnull 37
36: aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.timeoutFuture:Ljava/util/concurrent/Future;
iconst_0
invokeinterface java.util.concurrent.Future.cancel:(Z)Z
pop
37: StackMap locals:
StackMap stack:
aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.onFailure:Ljava/util/function/Consumer;
aload 3
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
38: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.failedWrites:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.increment:()V
39: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.currentWrites:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.decrement:()V
end local 3 40: goto 44
StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation
StackMap stack: java.lang.Throwable
41: astore 8
42: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
43: aload 8
athrow
44: StackMap locals:
StackMap stack:
aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
45: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
0 46 1 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
0 46 2 op Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
5 25 3 before J
9 13 6 c J
15 19 6 c J
33 40 3 e Ljava/io/IOException;
Exception table:
from to target type
5 7 7 any
4 25 26 Class com.mongodb.internal.connection.tlschannel.NeedsReadException
4 25 29 Class com.mongodb.internal.connection.tlschannel.NeedsWriteException
4 25 32 Class java.io.IOException
1 2 41 any
4 41 41 any
MethodParameters:
Name Flags
socket final
op final
private void writeHandlingTasks(com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket, com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation);
descriptor: (Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: StackMap locals:
StackMap stack:
aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.tlsChannel:Lcom/mongodb/internal/connection/tlschannel/TlsChannel;
aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.bufferSet:Lcom/mongodb/internal/connection/tlschannel/impl/ByteBufferSet;
getfield com.mongodb.internal.connection.tlschannel.impl.ByteBufferSet.array:[Ljava/nio/ByteBuffer;
aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.bufferSet:Lcom/mongodb/internal/connection/tlschannel/impl/ByteBufferSet;
getfield com.mongodb.internal.connection.tlschannel.impl.ByteBufferSet.offset:I
aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation.bufferSet:Lcom/mongodb/internal/connection/tlschannel/impl/ByteBufferSet;
getfield com.mongodb.internal.connection.tlschannel.impl.ByteBufferSet.length:I
invokeinterface com.mongodb.internal.connection.tlschannel.TlsChannel.write:([Ljava/nio/ByteBuffer;II)J
pop2
1: return
2: StackMap locals:
StackMap stack: com.mongodb.internal.connection.tlschannel.NeedsTaskException
astore 3
start local 3 3: aload 0
invokevirtual com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.warnAboutNeedTask:()V
4: aload 3
invokevirtual com.mongodb.internal.connection.tlschannel.NeedsTaskException.getTask:()Ljava/lang/Runnable;
invokeinterface java.lang.Runnable.run:()V
end local 3 5: goto 0
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
0 6 1 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
0 6 2 op Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
3 5 3 e Lcom/mongodb/internal/connection/tlschannel/NeedsTaskException;
Exception table:
from to target type
0 1 2 Class com.mongodb.internal.connection.tlschannel.NeedsTaskException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
socket final
op final
private void warnAboutNeedTask();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.loggedTaskWarning:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.getAndSet:(Z)Z
ifne 5
1: getstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
2: ldc "caught %s; channels used in asynchronous groups should run tasks themselves; although task is being dealt with anyway, consider configuring channels properly"
iconst_1
anewarray java.lang.Object
dup
iconst_0
3: ldc Lcom/mongodb/internal/connection/tlschannel/NeedsTaskException;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
4: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface com.mongodb.diagnostics.logging.Logger.warn:(Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
private void doRead(com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket, com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation);
descriptor: (Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
aload 2
if_acmpeq 4
2: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
3: return
4: StackMap locals:
StackMap stack:
aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation.bufferSet:Lcom/mongodb/internal/connection/tlschannel/impl/ByteBufferSet;
invokevirtual com.mongodb.internal.connection.tlschannel.impl.ByteBufferSet.hasRemaining:()Z
invokestatic com.mongodb.internal.connection.tlschannel.util.Util.assertTrue:(Z)V
5: aload 0
aload 1
aload 2
invokevirtual com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.readHandlingTasks:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;)J
lstore 3
start local 3 6: lload 3
lconst_0
lcmp
ifgt 7
lload 3
ldc -1
lcmp
ifeq 7
iconst_0
goto 8
StackMap locals: long
StackMap stack:
7: iconst_1
StackMap locals:
StackMap stack: int
8: invokestatic com.mongodb.internal.connection.tlschannel.util.Util.assertTrue:(Z)V
9: aload 1
aconst_null
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
10: aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation.timeoutFuture:Ljava/util/concurrent/Future;
ifnull 12
11: aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation.timeoutFuture:Ljava/util/concurrent/Future;
iconst_0
invokeinterface java.util.concurrent.Future.cancel:(Z)Z
pop
12: StackMap locals:
StackMap stack:
aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation.onSuccess:Ljava/util/function/LongConsumer;
lload 3
invokeinterface java.util.function.LongConsumer.accept:(J)V
13: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.successfulReads:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.increment:()V
14: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.currentReads:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.decrement:()V
end local 3 15: goto 34
StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation
StackMap stack: com.mongodb.internal.connection.tlschannel.NeedsReadException
16: pop
17: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.pendingOps:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_1
new com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$10
dup
aload 0
invokespecial com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$10.<init>:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;)V
invokevirtual java.util.concurrent.atomic.AtomicInteger.accumulateAndGet:(ILjava/util/function/IntBinaryOperator;)I
pop
18: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.wakeup:()Ljava/nio/channels/Selector;
pop
goto 34
19: StackMap locals:
StackMap stack: com.mongodb.internal.connection.tlschannel.NeedsWriteException
pop
20: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.pendingOps:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_4
new com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$11
dup
aload 0
invokespecial com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$11.<init>:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;)V
invokevirtual java.util.concurrent.atomic.AtomicInteger.accumulateAndGet:(ILjava/util/function/IntBinaryOperator;)I
pop
21: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.wakeup:()Ljava/nio/channels/Selector;
pop
goto 34
22: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 23: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
aload 2
if_acmpne 25
24: aload 1
aconst_null
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readOperation:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
25: StackMap locals: java.io.IOException
StackMap stack:
aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation.timeoutFuture:Ljava/util/concurrent/Future;
ifnull 27
26: aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation.timeoutFuture:Ljava/util/concurrent/Future;
iconst_0
invokeinterface java.util.concurrent.Future.cancel:(Z)Z
pop
27: StackMap locals:
StackMap stack:
aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation.onFailure:Ljava/util/function/Consumer;
aload 3
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
28: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.failedReads:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.increment:()V
29: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.currentReads:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.decrement:()V
end local 3 30: goto 34
StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation
StackMap stack: java.lang.Throwable
31: astore 5
32: aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
33: aload 5
athrow
34: StackMap locals:
StackMap stack:
aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
35: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
0 36 1 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
0 36 2 op Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
6 15 3 c J
23 30 3 e Ljava/io/IOException;
Exception table:
from to target type
4 15 16 Class com.mongodb.internal.connection.tlschannel.NeedsReadException
4 15 19 Class com.mongodb.internal.connection.tlschannel.NeedsWriteException
4 15 22 Class java.io.IOException
1 2 31 any
4 31 31 any
MethodParameters:
Name Flags
socket final
op final
private long readHandlingTasks(com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket, com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation);
descriptor: (Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: StackMap locals:
StackMap stack:
aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.tlsChannel:Lcom/mongodb/internal/connection/tlschannel/TlsChannel;
aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation.bufferSet:Lcom/mongodb/internal/connection/tlschannel/impl/ByteBufferSet;
getfield com.mongodb.internal.connection.tlschannel.impl.ByteBufferSet.array:[Ljava/nio/ByteBuffer;
aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation.bufferSet:Lcom/mongodb/internal/connection/tlschannel/impl/ByteBufferSet;
getfield com.mongodb.internal.connection.tlschannel.impl.ByteBufferSet.offset:I
aload 2
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation.bufferSet:Lcom/mongodb/internal/connection/tlschannel/impl/ByteBufferSet;
getfield com.mongodb.internal.connection.tlschannel.impl.ByteBufferSet.length:I
invokeinterface com.mongodb.internal.connection.tlschannel.TlsChannel.read:([Ljava/nio/ByteBuffer;II)J
1: lreturn
2: StackMap locals:
StackMap stack: com.mongodb.internal.connection.tlschannel.NeedsTaskException
astore 3
start local 3 3: aload 0
invokevirtual com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.warnAboutNeedTask:()V
4: aload 3
invokevirtual com.mongodb.internal.connection.tlschannel.NeedsTaskException.getTask:()Ljava/lang/Runnable;
invokeinterface java.lang.Runnable.run:()V
end local 3 5: goto 0
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
0 6 1 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
0 6 2 op Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
3 5 3 e Lcom/mongodb/internal/connection/tlschannel/NeedsTaskException;
Exception table:
from to target type
0 1 2 Class com.mongodb.internal.connection.tlschannel.NeedsTaskException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
socket final
op final
private void registerPendingSockets();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=1
start local 0 0: goto 5
start local 1 1: StackMap locals: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket
StackMap stack:
aload 1
aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.socketChannel:Ljava/nio/channels/SocketChannel;
aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
iconst_0
aload 1
invokevirtual java.nio.channels.SocketChannel.register:(Ljava/nio/channels/Selector;ILjava/lang/Object;)Ljava/nio/channels/SelectionKey;
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.key:Ljava/nio/channels/SelectionKey;
2: getstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
invokeinterface com.mongodb.diagnostics.logging.Logger.isTraceEnabled:()Z
ifeq 4
3: getstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
ldc "registered key: %ss"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.key:Ljava/nio/channels/SelectionKey;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface com.mongodb.diagnostics.logging.Logger.trace:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 1
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.registered:Ljava/util/concurrent/CountDownLatch;
invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
end local 1 5: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.pendingRegistrations:Ljava/util/concurrent/ConcurrentLinkedQueue;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.poll:()Ljava/lang/Object;
checkcast com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket
dup
astore 1
start local 1 6: ifnonnull 1
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
1 5 1 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
6 8 1 socket Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
Exceptions:
throws java.nio.channels.ClosedChannelException
public boolean isShutdown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.shutdown:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
getstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$Shutdown.No:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
if_acmpeq 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 Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
public void shutdown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$Shutdown.Wait:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.shutdown:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
1: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.wakeup:()Ljava/nio/channels/Selector;
pop
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
public void shutdownNow();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$Shutdown.Immediate:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.shutdown:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$Shutdown;
1: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.wakeup:()Ljava/nio/channels/Selector;
pop
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
public boolean isTerminated();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.executor:Ljava/util/concurrent/ExecutorService;
invokeinterface java.util.concurrent.ExecutorService.isTerminated:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
public boolean awaitTermination(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.executor:Ljava/util/concurrent/ExecutorService;
lload 1
aload 3
invokeinterface java.util.concurrent.ExecutorService.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
0 1 1 timeout J
0 1 3 unit Ljava/util/concurrent/TimeUnit;
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
timeout final
unit final
long getSelectionCount();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.selectionCount:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.longValue:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
public long getStartedReadCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.startedReads:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.longValue:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
public long getStartedWriteCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.startedWrites:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.longValue:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
public long getSuccessfulReadCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.successfulReads:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.longValue:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
public long getSuccessfulWriteCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.successfulWrites:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.longValue:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
public long getFailedReadCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.failedReads:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.longValue:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
public long getFailedWriteCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.failedWrites:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.longValue:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
public long getCancelledReadCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.cancelledReads:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.longValue:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
public long getCancelledWriteCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.cancelledWrites:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.longValue:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
public long getCurrentReadCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.currentReads:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.longValue:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
public long getCurrentWriteCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.currentWrites:Ljava/util/concurrent/atomic/LongAdder;
invokevirtual java.util.concurrent.atomic.LongAdder.longValue:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
public long getCurrentRegistrationCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.currentRegistrations:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.longValue:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
}
SourceFile: "AsynchronousTlsChannelGroup.java"
NestMembers:
com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$1 com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$10 com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$11 com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$2 com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$3 com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$4 com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$5 com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$6 com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$7 com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$8 com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$9 com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$Operation com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$Shutdown com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation
InnerClasses:
com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$1
com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$10
com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$11
com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$2
com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$3
com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$4
com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$5
com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$6
com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$7
com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$8
com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$9
private abstract Operation = com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$Operation of com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup
final ReadOperation = com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation of com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup
RegisteredSocket = com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket of com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup
private final Shutdown = com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$Shutdown of com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup
final WriteOperation = com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation of com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup
public CallerRunsPolicy = java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy of java.util.concurrent.ThreadPoolExecutor