class com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1 implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1
super_class: java.lang.Object
{
final com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor this$1;
descriptor: Lcom/mongodb/connection/TlsChannelStreamFactoryFactory$SelectorMonitor;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor);
descriptor: (Lcom/mongodb/connection/TlsChannelStreamFactoryFactory$SelectorMonitor;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1 this
0: .line 136
aload 0 /* this */
aload 1
putfield com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1.this$1:Lcom/mongodb/connection/TlsChannelStreamFactoryFactory$SelectorMonitor;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/connection/TlsChannelStreamFactoryFactory$SelectorMonitor$1;
MethodParameters:
Name Flags
this$0 final
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 // com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1 this
0: .line 140
goto 22
1: .line 142
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1.this$1:Lcom/mongodb/connection/TlsChannelStreamFactoryFactory$SelectorMonitor;
getfield com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.select:()I
pop
2: .line 144
aload 0 /* this */
getfield com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1.this$1:Lcom/mongodb/connection/TlsChannelStreamFactoryFactory$SelectorMonitor;
getfield com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.selectedKeys:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 7
StackMap locals: com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1 top java.util.Iterator
StackMap stack:
3: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.channels.SelectionKey
astore 1 /* selectionKey */
start local 1 // java.nio.channels.SelectionKey selectionKey
4: .line 145
aload 1 /* selectionKey */
invokevirtual java.nio.channels.SelectionKey.cancel:()V
5: .line 146
aload 1 /* selectionKey */
invokevirtual java.nio.channels.SelectionKey.attachment:()Ljava/lang/Object;
checkcast java.lang.Runnable
astore 3 /* runnable */
start local 3 // java.lang.Runnable runnable
6: .line 147
aload 3 /* runnable */
invokeinterface java.lang.Runnable.run:()V
end local 3 // java.lang.Runnable runnable
end local 1 // java.nio.channels.SelectionKey selectionKey
7: .line 144
StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: .line 150
aload 0 /* this */
getfield com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1.this$1:Lcom/mongodb/connection/TlsChannelStreamFactoryFactory$SelectorMonitor;
getfield com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor.pendingRegistrations:Lcom/mongodb/internal/connection/ConcurrentLinkedDeque;
invokevirtual com.mongodb.internal.connection.ConcurrentLinkedDeque.iterator:()Lcom/mongodb/internal/connection/ConcurrentLinkedDeque$RemovalReportingIterator;
astore 1 /* iter */
start local 1 // java.util.Iterator iter
9: goto 15
10: .line 151
StackMap locals: com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1 java.util.Iterator
StackMap stack:
aload 1 /* iter */
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$Pair
astore 2 /* pendingRegistration */
start local 2 // com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$Pair pendingRegistration
11: .line 152
aload 2 /* pendingRegistration */
getfield com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$Pair.socketChannel:Ljava/nio/channels/SocketChannel;
aload 0 /* this */
getfield com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1.this$1:Lcom/mongodb/connection/TlsChannelStreamFactoryFactory$SelectorMonitor;
getfield com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor.selector:Ljava/nio/channels/Selector;
bipush 8
12: .line 153
aload 2 /* pendingRegistration */
getfield com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$Pair.attachment:Ljava/lang/Runnable;
13: .line 152
invokevirtual java.nio.channels.SocketChannel.register:(Ljava/nio/channels/Selector;ILjava/lang/Object;)Ljava/nio/channels/SelectionKey;
pop
14: .line 154
aload 1 /* iter */
invokeinterface java.util.Iterator.remove:()V
end local 2 // com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$Pair pendingRegistration
15: .line 150
StackMap locals:
StackMap stack:
aload 1 /* iter */
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 1 // java.util.Iterator iter
16: .line 156
goto 22
StackMap locals: com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1
StackMap stack: java.io.IOException
17: astore 1 /* e */
start local 1 // java.io.IOException e
18: .line 157
getstatic com.mongodb.connection.TlsChannelStreamFactoryFactory.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
ldc "Exception in selector loop"
aload 1 /* e */
invokeinterface com.mongodb.diagnostics.logging.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 1 // java.io.IOException e
19: goto 22
20: .line 158
StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 1 /* e */
start local 1 // java.lang.RuntimeException e
21: .line 159
getstatic com.mongodb.connection.TlsChannelStreamFactoryFactory.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
ldc "Exception in selector loop"
aload 1 /* e */
invokeinterface com.mongodb.diagnostics.logging.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 1 // java.lang.RuntimeException e
22: .line 140
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1.this$1:Lcom/mongodb/connection/TlsChannelStreamFactoryFactory$SelectorMonitor;
getfield com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor.isClosed:Z
ifeq 1
23: .line 162
goto 29
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 4
25: .line 164
aload 0 /* this */
getfield com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1.this$1:Lcom/mongodb/connection/TlsChannelStreamFactoryFactory$SelectorMonitor;
getfield com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.close:()V
26: .line 165
goto 28
StackMap locals: com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1 top top top java.lang.Throwable
StackMap stack: java.io.IOException
27: pop
28: .line 168
StackMap locals:
StackMap stack:
aload 4
athrow
29: .line 164
StackMap locals: com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1
StackMap stack:
aload 0 /* this */
getfield com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1.this$1:Lcom/mongodb/connection/TlsChannelStreamFactoryFactory$SelectorMonitor;
getfield com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor.selector:Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.close:()V
30: .line 165
goto 32
StackMap locals:
StackMap stack: java.io.IOException
31: pop
32: .line 169
StackMap locals:
StackMap stack:
return
end local 0 // com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1 this
LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/mongodb/connection/TlsChannelStreamFactoryFactory$SelectorMonitor$1;
4 7 1 selectionKey Ljava/nio/channels/SelectionKey;
6 7 3 runnable Ljava/lang/Runnable;
9 16 1 iter Ljava/util/Iterator<Lcom/mongodb/connection/TlsChannelStreamFactoryFactory$SelectorMonitor$Pair;>;
11 15 2 pendingRegistration Lcom/mongodb/connection/TlsChannelStreamFactoryFactory$SelectorMonitor$Pair;
18 19 1 e Ljava/io/IOException;
21 22 1 e Ljava/lang/RuntimeException;
Exception table:
from to target type
1 16 17 Class java.io.IOException
1 16 20 Class java.lang.RuntimeException
0 24 24 any
25 26 27 Class java.io.IOException
29 30 31 Class java.io.IOException
}
SourceFile: "TlsChannelStreamFactoryFactory.java"
EnclosingMethod: com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor.start:()V
NestHost: com.mongodb.connection.TlsChannelStreamFactoryFactory
InnerClasses:
private SelectorMonitor = com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor of com.mongodb.connection.TlsChannelStreamFactoryFactory
com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$1
private final Pair = com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor$Pair of com.mongodb.connection.TlsChannelStreamFactoryFactory$SelectorMonitor
public abstract RemovalReportingIterator = com.mongodb.internal.connection.ConcurrentLinkedDeque$RemovalReportingIterator of com.mongodb.internal.connection.ConcurrentLinkedDeque