class org.eclipse.jetty.io.ManagedSelector$SelectorProducer implements org.eclipse.jetty.util.thread.ExecutionStrategy$Producer
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.eclipse.jetty.io.ManagedSelector$SelectorProducer
super_class: java.lang.Object
{
private java.util.Set<java.nio.channels.SelectionKey> _keys;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Ljava/nio/channels/SelectionKey;>;
private java.util.Iterator<java.nio.channels.SelectionKey> _cursor;
descriptor: Ljava/util/Iterator;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Iterator<Ljava/nio/channels/SelectionKey;>;
final org.eclipse.jetty.io.ManagedSelector this$0;
descriptor: Lorg/eclipse/jetty/io/ManagedSelector;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(org.eclipse.jetty.io.ManagedSelector);
descriptor: (Lorg/eclipse/jetty/io/ManagedSelector;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
putfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._keys:Ljava/util/Set;
2: aload 0
invokestatic java.util.Collections.emptyIterator:()Ljava/util/Iterator;
putfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._cursor:Ljava/util/Iterator;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/io/ManagedSelector$SelectorProducer;
MethodParameters:
Name Flags
this$0 final
public java.lang.Runnable produce();
descriptor: ()Ljava/lang/Runnable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jetty.io.ManagedSelector$SelectorProducer.processSelected:()Ljava/lang/Runnable;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: java.lang.Runnable
StackMap stack:
aload 0
invokevirtual org.eclipse.jetty.io.ManagedSelector$SelectorProducer.processUpdates:()V
4: aload 0
invokevirtual org.eclipse.jetty.io.ManagedSelector$SelectorProducer.updateKeys:()V
5: aload 0
invokevirtual org.eclipse.jetty.io.ManagedSelector$SelectorProducer.select:()Z
ifne 0
6: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jetty/io/ManagedSelector$SelectorProducer;
1 7 1 task Ljava/lang/Runnable;
private void processUpdates();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
getfield org.eclipse.jetty.io.ManagedSelector._lock:Lorg/eclipse/jetty/util/thread/AutoLock;
invokevirtual org.eclipse.jetty.util.thread.AutoLock.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
astore 3
start local 3 2: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
getfield org.eclipse.jetty.io.ManagedSelector._updates:Ljava/util/Deque;
astore 4
start local 4 3: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
getfield org.eclipse.jetty.io.ManagedSelector._updateable:Ljava/util/Deque;
putfield org.eclipse.jetty.io.ManagedSelector._updates:Ljava/util/Deque;
4: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
aload 4
putfield org.eclipse.jetty.io.ManagedSelector._updateable:Ljava/util/Deque;
end local 4 5: aload 3
ifnull 11
aload 3
invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
goto 11
StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
StackMap stack: java.lang.Throwable
6: astore 1
aload 3
ifnull 7
aload 3
invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
end local 3 StackMap locals:
StackMap stack:
7: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 2
aload 1
ifnonnull 9
aload 2
astore 1
goto 10
StackMap locals:
StackMap stack:
9: aload 1
aload 2
if_acmpeq 10
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
10: aload 1
athrow
11: StackMap locals:
StackMap stack:
getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 13
12: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
ldc "updateable {}"
aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
getfield org.eclipse.jetty.io.ManagedSelector._updateable:Ljava/util/Deque;
invokeinterface java.util.Deque.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
13: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
getfield org.eclipse.jetty.io.ManagedSelector._updateable:Ljava/util/Deque;
invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
astore 2
goto 23
StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer top java.util.Iterator
StackMap stack:
14: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jetty.io.ManagedSelector$SelectorUpdate
astore 1
start local 1 15: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
getfield org.eclipse.jetty.io.ManagedSelector._selector:Ljava/nio/channels/Selector;
ifnonnull 17
16: goto 24
17: StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer org.eclipse.jetty.io.ManagedSelector$SelectorUpdate java.util.Iterator
StackMap stack:
getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 19
18: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
ldc "update {}"
aload 1
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
19: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
getfield org.eclipse.jetty.io.ManagedSelector._selector:Ljava/nio/channels/Selector;
invokeinterface org.eclipse.jetty.io.ManagedSelector$SelectorUpdate.update:(Ljava/nio/channels/Selector;)V
20: goto 23
21: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 22: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
ldc "Cannot update selector {}"
aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
aload 3
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 3 end local 1 23: StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
24: StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer
StackMap stack:
aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
getfield org.eclipse.jetty.io.ManagedSelector._updateable:Ljava/util/Deque;
invokeinterface java.util.Deque.clear:()V
25: aconst_null
astore 3
aconst_null
astore 4
26: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
getfield org.eclipse.jetty.io.ManagedSelector._lock:Lorg/eclipse/jetty/util/thread/AutoLock;
invokevirtual org.eclipse.jetty.util.thread.AutoLock.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
astore 5
start local 5 27: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
getfield org.eclipse.jetty.io.ManagedSelector._updates:Ljava/util/Deque;
invokeinterface java.util.Deque.size:()I
istore 2
start local 2 28: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
iload 2
ifne 29
iconst_1
goto 30
StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer top int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
StackMap stack: org.eclipse.jetty.io.ManagedSelector
29: iconst_0
StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer top int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
StackMap stack: org.eclipse.jetty.io.ManagedSelector int
30: putfield org.eclipse.jetty.io.ManagedSelector._selecting:Z
31: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
getfield org.eclipse.jetty.io.ManagedSelector._selecting:Z
ifeq 32
aconst_null
goto 33
StackMap locals:
StackMap stack:
32: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
getfield org.eclipse.jetty.io.ManagedSelector._selector:Ljava/nio/channels/Selector;
StackMap locals:
StackMap stack: java.nio.channels.Selector
33: astore 1
start local 1 34: aload 5
ifnull 40
aload 5
invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
goto 40
end local 2 end local 1 StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer top top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
StackMap stack: java.lang.Throwable
35: astore 3
aload 5
ifnull 36
aload 5
invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
end local 5 StackMap locals:
StackMap stack:
36: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
37: astore 4
aload 3
ifnonnull 38
aload 4
astore 3
goto 39
StackMap locals:
StackMap stack:
38: aload 3
aload 4
if_acmpeq 39
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
39: aload 3
athrow
start local 1 start local 2 40: StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer java.nio.channels.Selector int
StackMap stack:
getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 42
41: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
ldc "updates {}"
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
42: StackMap locals:
StackMap stack:
aload 1
ifnull 46
43: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 45
44: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
ldc "wakeup on updates {}"
aload 0
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
45: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.channels.Selector.wakeup:()Ljava/nio/channels/Selector;
pop
46: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lorg/eclipse/jetty/io/ManagedSelector$SelectorProducer;
2 7 3 l Lorg/eclipse/jetty/util/thread/AutoLock;
3 5 4 updates Ljava/util/Deque<Lorg/eclipse/jetty/io/ManagedSelector$SelectorUpdate;>;
15 23 1 update Lorg/eclipse/jetty/io/ManagedSelector$SelectorUpdate;
22 23 3 x Ljava/lang/Throwable;
34 35 1 selector Ljava/nio/channels/Selector;
40 47 1 selector Ljava/nio/channels/Selector;
28 35 2 updates I
40 47 2 updates I
27 36 5 l Lorg/eclipse/jetty/util/thread/AutoLock;
Exception table:
from to target type
2 5 6 any
1 8 8 any
17 20 21 Class java.lang.Throwable
27 34 35 any
26 37 37 any
private boolean select();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
getfield org.eclipse.jetty.io.ManagedSelector._selector:Ljava/nio/channels/Selector;
astore 1
start local 1 1: aload 1
ifnull 36
2: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 4
3: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
ldc "Selector {} waiting with {} keys"
aload 1
aload 1
invokevirtual java.nio.channels.Selector.keys:()Ljava/util/Set;
invokeinterface java.util.Set.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
4: StackMap locals: java.nio.channels.Selector
StackMap stack:
aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
aload 1
invokevirtual org.eclipse.jetty.io.ManagedSelector.select:(Ljava/nio/channels/Selector;)I
istore 2
start local 2 5: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
getfield org.eclipse.jetty.io.ManagedSelector._selector:Ljava/nio/channels/Selector;
astore 1
6: aload 1
ifnull 36
7: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 9
8: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
ldc "Selector {} woken up from select, {}/{}/{} selected"
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 1
invokevirtual java.nio.channels.Selector.selectedKeys:()Ljava/util/Set;
invokeinterface java.util.Set.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
aload 1
invokevirtual java.nio.channels.Selector.keys:()Ljava/util/Set;
invokeinterface java.util.Set.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
9: StackMap locals: int
StackMap stack:
aconst_null
astore 4
aconst_null
astore 5
10: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
getfield org.eclipse.jetty.io.ManagedSelector._lock:Lorg/eclipse/jetty/util/thread/AutoLock;
invokevirtual org.eclipse.jetty.util.thread.AutoLock.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
astore 6
start local 6 11: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
iconst_0
putfield org.eclipse.jetty.io.ManagedSelector._selecting:Z
12: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
getfield org.eclipse.jetty.io.ManagedSelector._updates:Ljava/util/Deque;
invokeinterface java.util.Deque.size:()I
istore 3
start local 3 13: aload 6
ifnull 19
aload 6
invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
goto 19
end local 3 StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer java.nio.channels.Selector int top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
StackMap stack: java.lang.Throwable
14: astore 4
aload 6
ifnull 15
aload 6
invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
end local 6 StackMap locals:
StackMap stack:
15: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 5
aload 4
ifnonnull 17
aload 5
astore 4
goto 18
StackMap locals:
StackMap stack:
17: aload 4
aload 5
if_acmpeq 18
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
18: aload 4
athrow
start local 3 19: StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer java.nio.channels.Selector int int
StackMap stack:
aload 0
aload 1
invokevirtual java.nio.channels.Selector.selectedKeys:()Ljava/util/Set;
putfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._keys:Ljava/util/Set;
20: aload 0
aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._keys:Ljava/util/Set;
invokeinterface java.util.Set.isEmpty:()Z
ifeq 21
invokestatic java.util.Collections.emptyIterator:()Ljava/util/Iterator;
goto 22
StackMap locals:
StackMap stack: org.eclipse.jetty.io.ManagedSelector$SelectorProducer
21: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._keys:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer java.nio.channels.Selector int int
StackMap stack: org.eclipse.jetty.io.ManagedSelector$SelectorProducer java.util.Iterator
22: putfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._cursor:Ljava/util/Iterator;
23: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 25
24: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
ldc "Selector {} processing {} keys, {} updates"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._keys:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
25: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 26: StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer
StackMap stack: java.lang.Throwable
astore 1
start local 1 27: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
getfield org.eclipse.jetty.io.ManagedSelector._selector:Ljava/nio/channels/Selector;
invokestatic org.eclipse.jetty.util.IO.close:(Ljava/io/Closeable;)V
28: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
aconst_null
putfield org.eclipse.jetty.io.ManagedSelector._selector:Ljava/nio/channels/Selector;
29: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
invokevirtual org.eclipse.jetty.io.ManagedSelector.isRunning:()Z
ifeq 33
30: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
ldc "Fatal select() failure"
aload 1
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
31: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
aload 1
invokevirtual org.eclipse.jetty.io.ManagedSelector.onSelectFailed:(Ljava/lang/Throwable;)V
32: goto 36
33: StackMap locals: java.lang.Throwable
StackMap stack:
getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 35
34: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
ldc "select() failure"
aload 1
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
goto 36
35: StackMap locals:
StackMap stack:
getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
ldc "select() failure {}"
aload 1
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;)V
end local 1 36: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/eclipse/jetty/io/ManagedSelector$SelectorProducer;
1 26 1 selector Ljava/nio/channels/Selector;
5 26 2 selected I
13 14 3 updates I
19 26 3 updates I
11 15 6 l Lorg/eclipse/jetty/util/thread/AutoLock;
27 36 1 x Ljava/lang/Throwable;
Exception table:
from to target type
11 13 14 any
10 16 16 any
0 25 26 Class java.lang.Throwable
private java.lang.Runnable processSelected();
descriptor: ()Ljava/lang/Runnable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=1
start local 0 0: goto 33
1: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._cursor:Ljava/util/Iterator;
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;
astore 2
start local 2 3: aload 1
invokevirtual java.nio.channels.SelectionKey.channel:()Ljava/nio/channels/SelectableChannel;
astore 3
start local 3 4: aload 1
invokevirtual java.nio.channels.SelectionKey.isValid:()Z
ifeq 28
5: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 7
6: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
ldc "selected {} {} {} "
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
invokestatic org.eclipse.jetty.io.ManagedSelector.safeReadyOps:(Ljava/nio/channels/SelectionKey;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
aastore
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
7: StackMap locals: java.nio.channels.SelectionKey java.lang.Object java.nio.channels.SelectableChannel
StackMap stack:
aload 2
instanceof org.eclipse.jetty.io.ManagedSelector$Selectable
ifeq 12
8: aload 2
checkcast org.eclipse.jetty.io.ManagedSelector$Selectable
invokeinterface org.eclipse.jetty.io.ManagedSelector$Selectable.onSelected:()Ljava/lang/Runnable;
astore 4
start local 4 9: aload 4
ifnull 33
10: aload 4
11: areturn
end local 4 12: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.channels.SelectionKey.isConnectable:()Z
ifeq 15
13: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
aload 1
aload 2
checkcast org.eclipse.jetty.io.ManagedSelector$Connect
invokevirtual org.eclipse.jetty.io.ManagedSelector.processConnect:(Ljava/nio/channels/SelectionKey;Lorg/eclipse/jetty/io/ManagedSelector$Connect;)V
14: goto 33
15: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "key="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", att="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", iOps="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokestatic org.eclipse.jetty.io.ManagedSelector.safeInterestOps:(Ljava/nio/channels/SelectionKey;)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", rOps="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokestatic org.eclipse.jetty.io.ManagedSelector.safeReadyOps:(Ljava/nio/channels/SelectionKey;)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack: java.nio.channels.CancelledKeyException
pop
17: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 19
18: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
ldc "Ignoring cancelled key for channel {}"
aload 3
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
19: StackMap locals:
StackMap stack:
aload 2
instanceof org.eclipse.jetty.io.EndPoint
ifeq 20
aload 2
checkcast org.eclipse.jetty.io.EndPoint
goto 21
StackMap locals:
StackMap stack:
20: aload 3
StackMap locals:
StackMap stack: java.io.Closeable
21: invokestatic org.eclipse.jetty.util.IO.close:(Ljava/io/Closeable;)V
goto 33
22: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
start local 4 23: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
ldc "Could not process key for channel {}"
aload 3
aload 4
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
24: aload 2
instanceof org.eclipse.jetty.io.EndPoint
ifeq 25
aload 2
checkcast org.eclipse.jetty.io.EndPoint
goto 26
StackMap locals: java.lang.Throwable
StackMap stack:
25: aload 3
StackMap locals:
StackMap stack: java.io.Closeable
26: invokestatic org.eclipse.jetty.util.IO.close:(Ljava/io/Closeable;)V
end local 4 27: goto 33
28: StackMap locals:
StackMap stack:
getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 30
29: getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
ldc "Selector loop ignoring invalid key for channel {}"
aload 3
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
30: StackMap locals:
StackMap stack:
aload 2
instanceof org.eclipse.jetty.io.EndPoint
ifeq 31
aload 2
checkcast org.eclipse.jetty.io.EndPoint
goto 32
StackMap locals:
StackMap stack:
31: aload 3
StackMap locals:
StackMap stack: java.io.Closeable
32: invokestatic org.eclipse.jetty.util.IO.close:(Ljava/io/Closeable;)V
end local 3 end local 2 end local 1 33: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._cursor:Ljava/util/Iterator;
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
34: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/eclipse/jetty/io/ManagedSelector$SelectorProducer;
2 33 1 key Ljava/nio/channels/SelectionKey;
3 33 2 attachment Ljava/lang/Object;
4 33 3 channel Ljava/nio/channels/SelectableChannel;
9 12 4 task Ljava/lang/Runnable;
23 27 4 x Ljava/lang/Throwable;
Exception table:
from to target type
7 11 16 Class java.nio.channels.CancelledKeyException
12 16 16 Class java.nio.channels.CancelledKeyException
7 11 22 Class java.lang.Throwable
12 16 22 Class java.lang.Throwable
private void updateKeys();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=4, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._keys:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 5
StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer 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;
astore 3
start local 3 3: aload 3
instanceof org.eclipse.jetty.io.ManagedSelector$Selectable
ifeq 5
4: aload 3
checkcast org.eclipse.jetty.io.ManagedSelector$Selectable
invokeinterface org.eclipse.jetty.io.ManagedSelector$Selectable.updateKey:()V
end local 3 end local 1 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: aload 0
getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._keys:Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jetty/io/ManagedSelector$SelectorProducer;
2 5 1 key Ljava/nio/channels/SelectionKey;
3 5 3 attachment Ljava/lang/Object;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: ldc "%s@%x"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 0
invokevirtual java.lang.Object.hashCode:()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;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/io/ManagedSelector$SelectorProducer;
}
SourceFile: "ManagedSelector.java"
NestHost: org.eclipse.jetty.io.ManagedSelector
InnerClasses:
Connect = org.eclipse.jetty.io.ManagedSelector$Connect of org.eclipse.jetty.io.ManagedSelector
public abstract Selectable = org.eclipse.jetty.io.ManagedSelector$Selectable of org.eclipse.jetty.io.ManagedSelector
private SelectorProducer = org.eclipse.jetty.io.ManagedSelector$SelectorProducer of org.eclipse.jetty.io.ManagedSelector
public abstract SelectorUpdate = org.eclipse.jetty.io.ManagedSelector$SelectorUpdate of org.eclipse.jetty.io.ManagedSelector
public abstract Producer = org.eclipse.jetty.util.thread.ExecutionStrategy$Producer of org.eclipse.jetty.util.thread.ExecutionStrategy