class com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket
super_class: java.lang.Object
{
final com.mongodb.internal.connection.tlschannel.TlsChannel tlsChannel;
descriptor: Lcom/mongodb/internal/connection/tlschannel/TlsChannel;
flags: (0x0010) ACC_FINAL
final java.nio.channels.SocketChannel socketChannel;
descriptor: Ljava/nio/channels/SocketChannel;
flags: (0x0010) ACC_FINAL
final java.util.concurrent.CountDownLatch registered;
descriptor: Ljava/util/concurrent/CountDownLatch;
flags: (0x0010) ACC_FINAL
java.nio.channels.SelectionKey key;
descriptor: Ljava/nio/channels/SelectionKey;
flags: (0x0000)
final java.util.concurrent.locks.Lock readLock;
descriptor: Ljava/util/concurrent/locks/Lock;
flags: (0x0010) ACC_FINAL
final java.util.concurrent.locks.Lock writeLock;
descriptor: Ljava/util/concurrent/locks/Lock;
flags: (0x0010) ACC_FINAL
com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$ReadOperation readOperation;
descriptor: Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;
flags: (0x0000)
com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation writeOperation;
descriptor: Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;
flags: (0x0000)
final java.util.concurrent.atomic.AtomicInteger pendingOps;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x0010) ACC_FINAL
final com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup this$0;
descriptor: Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup, com.mongodb.internal.connection.tlschannel.TlsChannel, java.nio.channels.SocketChannel);
descriptor: (Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;Lcom/mongodb/internal/connection/tlschannel/TlsChannel;Ljava/nio/channels/SocketChannel;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 // com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket this
start local 2 // com.mongodb.internal.connection.tlschannel.TlsChannel tlsChannel
start local 3 // java.nio.channels.SocketChannel socketChannel
0: .line 116
aload 0 /* this */
aload 1
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.this$0:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 87
aload 0 /* this */
new java.util.concurrent.CountDownLatch
dup
iconst_1
invokespecial java.util.concurrent.CountDownLatch.<init>:(I)V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.registered:Ljava/util/concurrent/CountDownLatch;
2: .line 94
aload 0 /* this */
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.readLock:Ljava/util/concurrent/locks/Lock;
3: .line 99
aload 0 /* this */
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.writeLock:Ljava/util/concurrent/locks/Lock;
4: .line 114
aload 0 /* this */
new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.pendingOps:Ljava/util/concurrent/atomic/AtomicInteger;
5: .line 117
aload 0 /* this */
aload 2 /* tlsChannel */
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.tlsChannel:Lcom/mongodb/internal/connection/tlschannel/TlsChannel;
6: .line 118
aload 0 /* this */
aload 3 /* socketChannel */
putfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.socketChannel:Ljava/nio/channels/SocketChannel;
7: .line 119
return
end local 3 // java.nio.channels.SocketChannel socketChannel
end local 2 // com.mongodb.internal.connection.tlschannel.TlsChannel tlsChannel
end local 0 // com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
0 8 2 tlsChannel Lcom/mongodb/internal/connection/tlschannel/TlsChannel;
0 8 3 socketChannel Ljava/nio/channels/SocketChannel;
MethodParameters:
Name Flags
this$0 final
tlsChannel final
socketChannel final
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 // com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket this
0: .line 122
aload 0 /* this */
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.this$0:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
aload 0 /* this */
aconst_null
invokevirtual com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.doCancelRead:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$ReadOperation;)Z
pop
1: .line 123
aload 0 /* this */
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.this$0:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
aload 0 /* this */
aconst_null
invokevirtual com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.doCancelWrite:(Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$WriteOperation;)Z
pop
2: .line 124
aload 0 /* this */
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.key:Ljava/nio/channels/SelectionKey;
ifnull 4
3: .line 125
aload 0 /* this */
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.key:Ljava/nio/channels/SelectionKey;
invokevirtual java.nio.channels.SelectionKey.cancel:()V
4: .line 127
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.this$0:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup.currentRegistrations:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndDecrement:()I
pop
5: .line 131
aload 0 /* this */
getfield com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket.this$0:Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup;
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: .line 132
return
end local 0 // com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$RegisteredSocket this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/mongodb/internal/connection/tlschannel/async/AsynchronousTlsChannelGroup$RegisteredSocket;
}
SourceFile: "AsynchronousTlsChannelGroup.java"
NestHost: com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup
InnerClasses:
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
final WriteOperation = com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup$WriteOperation of com.mongodb.internal.connection.tlschannel.async.AsynchronousTlsChannelGroup