public class org.eclipse.jetty.io.SocketChannelEndPoint extends org.eclipse.jetty.io.AbstractEndPoint implements org.eclipse.jetty.io.ManagedSelector$Selectable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jetty.io.SocketChannelEndPoint
super_class: org.eclipse.jetty.io.AbstractEndPoint
{
private static final org.slf4j.Logger LOG;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.eclipse.jetty.util.thread.AutoLock _lock;
descriptor: Lorg/eclipse/jetty/util/thread/AutoLock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.channels.SocketChannel _channel;
descriptor: Ljava/nio/channels/SocketChannel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.eclipse.jetty.io.ManagedSelector _selector;
descriptor: Lorg/eclipse/jetty/io/ManagedSelector;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.nio.channels.SelectionKey _key;
descriptor: Ljava/nio/channels/SelectionKey;
flags: (0x0002) ACC_PRIVATE
private boolean _updatePending;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int _currentInterestOps;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int _desiredInterestOps;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final org.eclipse.jetty.io.ManagedSelector$SelectorUpdate _updateKeyAction;
descriptor: Lorg/eclipse/jetty/io/ManagedSelector$SelectorUpdate;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Runnable _runFillable;
descriptor: Ljava/lang/Runnable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Runnable _runCompleteWrite;
descriptor: Ljava/lang/Runnable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Runnable _runCompleteWriteFillable;
descriptor: Ljava/lang/Runnable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/eclipse/jetty/io/SocketChannelEndPoint;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.nio.channels.SocketChannel, org.eclipse.jetty.io.ManagedSelector, java.nio.channels.SelectionKey, org.eclipse.jetty.util.thread.Scheduler);
descriptor: (Ljava/nio/channels/SocketChannel;Lorg/eclipse/jetty/io/ManagedSelector;Ljava/nio/channels/SelectionKey;Lorg/eclipse/jetty/util/thread/Scheduler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 4
invokespecial org.eclipse.jetty.io.AbstractEndPoint.<init>:(Lorg/eclipse/jetty/util/thread/Scheduler;)V
1: aload 0
new org.eclipse.jetty.util.thread.AutoLock
dup
invokespecial org.eclipse.jetty.util.thread.AutoLock.<init>:()V
putfield org.eclipse.jetty.io.SocketChannelEndPoint._lock:Lorg/eclipse/jetty/util/thread/AutoLock;
2: aload 0
aload 0
invokedynamic update(Lorg/eclipse/jetty/io/SocketChannelEndPoint;)Lorg/eclipse/jetty/io/ManagedSelector$SelectorUpdate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/nio/channels/Selector;)V
org/eclipse/jetty/io/SocketChannelEndPoint.updateKeyAction(Ljava/nio/channels/Selector;)V (7)
(Ljava/nio/channels/Selector;)V
putfield org.eclipse.jetty.io.SocketChannelEndPoint._updateKeyAction:Lorg/eclipse/jetty/io/ManagedSelector$SelectorUpdate;
3: aload 0
new org.eclipse.jetty.io.SocketChannelEndPoint$1
dup
aload 0
aload 0
ldc "runFillable"
invokespecial org.eclipse.jetty.io.SocketChannelEndPoint$1.<init>:(Lorg/eclipse/jetty/io/SocketChannelEndPoint;Lorg/eclipse/jetty/io/SocketChannelEndPoint;Ljava/lang/String;)V
putfield org.eclipse.jetty.io.SocketChannelEndPoint._runFillable:Ljava/lang/Runnable;
4: aload 0
new org.eclipse.jetty.io.SocketChannelEndPoint$2
dup
aload 0
aload 0
ldc "runCompleteWrite"
invokespecial org.eclipse.jetty.io.SocketChannelEndPoint$2.<init>:(Lorg/eclipse/jetty/io/SocketChannelEndPoint;Lorg/eclipse/jetty/io/SocketChannelEndPoint;Ljava/lang/String;)V
putfield org.eclipse.jetty.io.SocketChannelEndPoint._runCompleteWrite:Ljava/lang/Runnable;
5: aload 0
new org.eclipse.jetty.io.SocketChannelEndPoint$3
dup
aload 0
aload 0
ldc "runCompleteWriteFillable"
invokespecial org.eclipse.jetty.io.SocketChannelEndPoint$3.<init>:(Lorg/eclipse/jetty/io/SocketChannelEndPoint;Lorg/eclipse/jetty/io/SocketChannelEndPoint;Ljava/lang/String;)V
putfield org.eclipse.jetty.io.SocketChannelEndPoint._runCompleteWriteFillable:Ljava/lang/Runnable;
6: aload 0
aload 1
putfield org.eclipse.jetty.io.SocketChannelEndPoint._channel:Ljava/nio/channels/SocketChannel;
7: aload 0
aload 2
putfield org.eclipse.jetty.io.SocketChannelEndPoint._selector:Lorg/eclipse/jetty/io/ManagedSelector;
8: aload 0
aload 3
putfield org.eclipse.jetty.io.SocketChannelEndPoint._key:Ljava/nio/channels/SelectionKey;
9: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
0 10 1 channel Ljava/nio/channels/SocketChannel;
0 10 2 selector Lorg/eclipse/jetty/io/ManagedSelector;
0 10 3 key Ljava/nio/channels/SelectionKey;
0 10 4 scheduler Lorg/eclipse/jetty/util/thread/Scheduler;
MethodParameters:
Name Flags
channel
selector
key
scheduler
public java.net.InetSocketAddress getLocalAddress();
descriptor: ()Ljava/net/InetSocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._channel:Ljava/nio/channels/SocketChannel;
invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
invokevirtual java.net.Socket.getLocalSocketAddress:()Ljava/net/SocketAddress;
checkcast java.net.InetSocketAddress
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
public java.net.InetSocketAddress getRemoteAddress();
descriptor: ()Ljava/net/InetSocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._channel:Ljava/nio/channels/SocketChannel;
invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
invokevirtual java.net.Socket.getRemoteSocketAddress:()Ljava/net/SocketAddress;
checkcast java.net.InetSocketAddress
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
public boolean isOpen();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._channel:Ljava/nio/channels/SocketChannel;
invokevirtual java.nio.channels.SocketChannel.isOpen:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
protected void doShutdownOutput();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._channel:Ljava/nio/channels/SocketChannel;
invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
astore 1
start local 1 1: aload 1
invokevirtual java.net.Socket.isOutputShutdown:()Z
ifne 6
2: aload 1
invokevirtual java.net.Socket.shutdownOutput:()V
end local 1 3: goto 6
4: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 5: getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
ldc "Could not shutdown output for {}"
aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._channel:Ljava/nio/channels/SocketChannel;
aload 1
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
1 3 1 socket Ljava/net/Socket;
5 6 1 e Ljava/io/IOException;
Exception table:
from to target type
0 3 4 Class java.io.IOException
public void doClose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 2
1: getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
ldc "doClose {}"
aload 0
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._channel:Ljava/nio/channels/SocketChannel;
invokevirtual java.nio.channels.SocketChannel.close:()V
3: goto 10
4: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 5: getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
ldc "Unable to close channel"
aload 1
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 1 6: aload 0
invokespecial org.eclipse.jetty.io.AbstractEndPoint.doClose:()V
goto 11
7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
8: aload 0
invokespecial org.eclipse.jetty.io.AbstractEndPoint.doClose:()V
9: aload 2
athrow
10: StackMap locals:
StackMap stack:
aload 0
invokespecial org.eclipse.jetty.io.AbstractEndPoint.doClose:()V
11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
5 6 1 e Ljava/io/IOException;
Exception table:
from to target type
2 3 4 Class java.io.IOException
2 6 7 any
public void onClose(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.eclipse.jetty.io.AbstractEndPoint.onClose:(Ljava/lang/Throwable;)V
1: goto 6
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
3: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._selector:Lorg/eclipse/jetty/io/ManagedSelector;
ifnull 5
4: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._selector:Lorg/eclipse/jetty/io/ManagedSelector;
aload 0
aload 1
invokevirtual org.eclipse.jetty.io.ManagedSelector.destroyEndPoint:(Lorg/eclipse/jetty/io/EndPoint;Ljava/lang/Throwable;)V
5: StackMap locals: java.lang.Throwable
StackMap stack:
aload 2
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._selector:Lorg/eclipse/jetty/io/ManagedSelector;
ifnull 8
7: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._selector:Lorg/eclipse/jetty/io/ManagedSelector;
aload 0
aload 1
invokevirtual org.eclipse.jetty.io.ManagedSelector.destroyEndPoint:(Lorg/eclipse/jetty/io/EndPoint;Ljava/lang/Throwable;)V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
0 9 1 cause Ljava/lang/Throwable;
Exception table:
from to target type
0 2 2 any
MethodParameters:
Name Flags
cause
public int fill(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.eclipse.jetty.io.SocketChannelEndPoint.isInputShutdown:()Z
ifeq 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic org.eclipse.jetty.util.BufferUtil.flipToFill:(Ljava/nio/ByteBuffer;)I
istore 2
start local 2 3: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._channel:Ljava/nio/channels/SocketChannel;
aload 1
invokevirtual java.nio.channels.SocketChannel.read:(Ljava/nio/ByteBuffer;)I
istore 3
start local 3 4: iload 3
ifle 6
5: aload 0
invokevirtual org.eclipse.jetty.io.SocketChannelEndPoint.notIdle:()V
goto 17
6: StackMap locals: int int
StackMap stack:
iload 3
iconst_m1
if_icmpne 17
7: aload 0
invokevirtual org.eclipse.jetty.io.SocketChannelEndPoint.shutdownInput:()V
8: goto 17
end local 3 9: StackMap locals: org.eclipse.jetty.io.SocketChannelEndPoint java.nio.ByteBuffer int
StackMap stack: java.io.IOException
astore 4
start local 4 10: getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
ldc "Unable to shutdown output"
aload 4
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
11: aload 0
invokevirtual org.eclipse.jetty.io.SocketChannelEndPoint.shutdownInput:()V
12: iconst_m1
istore 3
end local 4 start local 3 13: aload 1
iload 2
invokestatic org.eclipse.jetty.util.BufferUtil.flipToFlush:(Ljava/nio/ByteBuffer;I)V
goto 18
end local 3 14: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
15: aload 1
iload 2
invokestatic org.eclipse.jetty.util.BufferUtil.flipToFlush:(Ljava/nio/ByteBuffer;I)V
16: aload 5
athrow
start local 3 17: StackMap locals: int
StackMap stack:
aload 1
iload 2
invokestatic org.eclipse.jetty.util.BufferUtil.flipToFlush:(Ljava/nio/ByteBuffer;I)V
18: StackMap locals:
StackMap stack:
getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 20
19: getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
ldc "filled {} {}"
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
invokestatic org.eclipse.jetty.util.BufferUtil.toDetailString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
20: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
0 21 1 buffer Ljava/nio/ByteBuffer;
3 21 2 pos I
4 9 3 filled I
13 14 3 filled I
17 21 3 filled I
10 13 4 e Ljava/io/IOException;
Exception table:
from to target type
3 8 9 Class java.io.IOException
3 13 14 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffer
public boolean flush(java.nio.ByteBuffer[]);
descriptor: ([Ljava/nio/ByteBuffer;)Z
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._channel:Ljava/nio/channels/SocketChannel;
aload 1
invokevirtual java.nio.channels.SocketChannel.write:([Ljava/nio/ByteBuffer;)J
lstore 2
start local 2 1: getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 6
2: getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
ldc "flushed {} {}"
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 0
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
3: goto 6
end local 2 4: StackMap locals:
StackMap stack: java.io.IOException
astore 4
start local 4 5: new org.eclipse.jetty.io.EofException
dup
aload 4
invokespecial org.eclipse.jetty.io.EofException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 start local 2 6: StackMap locals: long
StackMap stack:
lload 2
lconst_0
lcmp
ifle 8
7: aload 0
invokevirtual org.eclipse.jetty.io.SocketChannelEndPoint.notIdle:()V
8: StackMap locals:
StackMap stack:
aload 1
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 13
StackMap locals: org.eclipse.jetty.io.SocketChannelEndPoint java.nio.ByteBuffer[] long top int int java.nio.ByteBuffer[]
StackMap stack:
9: aload 7
iload 5
aaload
astore 4
start local 4 10: aload 4
invokestatic org.eclipse.jetty.util.BufferUtil.isEmpty:(Ljava/nio/ByteBuffer;)Z
ifne 12
11: iconst_0
ireturn
end local 4 12: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 6
if_icmplt 9
14: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
0 15 1 buffers [Ljava/nio/ByteBuffer;
1 4 2 flushed J
6 15 2 flushed J
5 6 4 e Ljava/io/IOException;
10 12 4 b Ljava/nio/ByteBuffer;
Exception table:
from to target type
0 3 4 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffers
public java.nio.channels.SocketChannel getChannel();
descriptor: ()Ljava/nio/channels/SocketChannel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._channel:Ljava/nio/channels/SocketChannel;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
public java.lang.Object getTransport();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._channel:Ljava/nio/channels/SocketChannel;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
protected void needsFillInterest();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual org.eclipse.jetty.io.SocketChannelEndPoint.changeInterests:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
protected void onIncompleteFlush();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_4
invokevirtual org.eclipse.jetty.io.SocketChannelEndPoint.changeInterests:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
public java.lang.Runnable onSelected();
descriptor: ()Ljava/lang/Runnable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._key:Ljava/nio/channels/SelectionKey;
invokevirtual java.nio.channels.SelectionKey.readyOps:()I
istore 1
start local 1 1: aconst_null
astore 4
aconst_null
astore 5
2: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._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 3: aload 0
iconst_1
putfield org.eclipse.jetty.io.SocketChannelEndPoint._updatePending:Z
4: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._desiredInterestOps:I
istore 2
start local 2 5: iload 2
iload 1
iconst_m1
ixor
iand
istore 3
start local 3 6: aload 0
iload 3
putfield org.eclipse.jetty.io.SocketChannelEndPoint._desiredInterestOps:I
7: aload 6
ifnull 13
aload 6
invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
goto 13
end local 3 end local 2 StackMap locals: org.eclipse.jetty.io.SocketChannelEndPoint int top top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
StackMap stack: java.lang.Throwable
8: astore 4
aload 6
ifnull 9
aload 6
invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
end local 6 StackMap locals:
StackMap stack:
9: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 5
aload 4
ifnonnull 11
aload 5
astore 4
goto 12
StackMap locals:
StackMap stack:
11: aload 4
aload 5
if_acmpeq 12
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 4
athrow
start local 2 start local 3 13: StackMap locals: org.eclipse.jetty.io.SocketChannelEndPoint int int int
StackMap stack:
iload 1
iconst_1
iand
ifeq 14
iconst_1
goto 15
StackMap locals:
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 4
start local 4 16: iload 1
iconst_4
iand
ifeq 17
iconst_1
goto 18
StackMap locals: int
StackMap stack:
17: iconst_0
StackMap locals:
StackMap stack: int
18: istore 5
start local 5 19: getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 21
20: getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
ldc "onSelected {}->{} r={} w={} for {}"
iconst_5
anewarray java.lang.Object
dup
iconst_0
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iload 4
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_3
iload 5
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_4
aload 0
aastore
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
21: StackMap locals: int
StackMap stack:
iload 4
ifeq 25
22: iload 5
ifeq 24
23: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._runCompleteWriteFillable:Ljava/lang/Runnable;
goto 28
24: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._runFillable:Ljava/lang/Runnable;
goto 28
25: StackMap locals:
StackMap stack:
iload 5
ifeq 27
26: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._runCompleteWrite:Ljava/lang/Runnable;
goto 28
27: StackMap locals:
StackMap stack:
aconst_null
28: StackMap locals:
StackMap stack: java.lang.Runnable
astore 6
start local 6 29: getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 31
30: getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
ldc "task {}"
aload 6
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
31: StackMap locals: java.lang.Runnable
StackMap stack:
aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
1 32 1 readyOps I
5 8 2 oldInterestOps I
13 32 2 oldInterestOps I
6 8 3 newInterestOps I
13 32 3 newInterestOps I
3 9 6 l Lorg/eclipse/jetty/util/thread/AutoLock;
16 32 4 fillable Z
19 32 5 flushable Z
29 32 6 task Ljava/lang/Runnable;
Exception table:
from to target type
3 7 8 any
2 10 10 any
private void updateKeyAction(java.nio.channels.Selector);
descriptor: (Ljava/nio/channels/Selector;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.eclipse.jetty.io.SocketChannelEndPoint.updateKey:()V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
0 2 1 selector Ljava/nio/channels/Selector;
MethodParameters:
Name Flags
selector
public void updateKey();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=1
start local 0 0: aconst_null
astore 3
aconst_null
astore 4
1: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._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 2: aload 0
iconst_0
putfield org.eclipse.jetty.io.SocketChannelEndPoint._updatePending:Z
3: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._currentInterestOps:I
istore 1
start local 1 4: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._desiredInterestOps:I
istore 2
start local 2 5: iload 1
iload 2
if_icmpeq 8
6: aload 0
iload 2
putfield org.eclipse.jetty.io.SocketChannelEndPoint._currentInterestOps:I
7: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._key:Ljava/nio/channels/SelectionKey;
iload 2
invokevirtual java.nio.channels.SelectionKey.interestOps:(I)Ljava/nio/channels/SelectionKey;
pop
8: StackMap locals: org.eclipse.jetty.io.SocketChannelEndPoint int int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
StackMap stack:
aload 5
ifnull 14
aload 5
invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
goto 14
end local 2 end local 1 StackMap locals: org.eclipse.jetty.io.SocketChannelEndPoint top top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
StackMap stack: java.lang.Throwable
9: astore 3
aload 5
ifnull 10
aload 5
invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
end local 5 StackMap locals:
StackMap stack:
10: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 4
aload 3
ifnonnull 12
aload 4
astore 3
goto 13
StackMap locals:
StackMap stack:
12: aload 3
aload 4
if_acmpeq 13
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
13: aload 3
athrow
start local 1 start local 2 14: StackMap locals: org.eclipse.jetty.io.SocketChannelEndPoint int int
StackMap stack:
getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 25
15: getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
ldc "Key interests updated {} -> {} on {}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 0
aastore
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 2 end local 1 16: goto 25
17: StackMap locals: org.eclipse.jetty.io.SocketChannelEndPoint
StackMap stack: java.nio.channels.CancelledKeyException
astore 1
start local 1 18: getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 20
19: getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
ldc "Ignoring key update for cancelled key {}"
aload 0
aload 1
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
20: StackMap locals: java.nio.channels.CancelledKeyException
StackMap stack:
aload 0
invokevirtual org.eclipse.jetty.io.SocketChannelEndPoint.close:()V
end local 1 21: goto 25
22: StackMap locals: org.eclipse.jetty.io.SocketChannelEndPoint
StackMap stack: java.lang.Throwable
astore 1
start local 1 23: getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
ldc "Ignoring key update for {}"
aload 0
aload 1
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
24: aload 0
invokevirtual org.eclipse.jetty.io.SocketChannelEndPoint.close:()V
end local 1 25: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
4 9 1 oldInterestOps I
14 16 1 oldInterestOps I
5 9 2 newInterestOps I
14 16 2 newInterestOps I
2 10 5 l Lorg/eclipse/jetty/util/thread/AutoLock;
18 21 1 x Ljava/nio/channels/CancelledKeyException;
23 25 1 x Ljava/lang/Throwable;
Exception table:
from to target type
2 8 9 any
1 11 11 any
0 16 17 Class java.nio.channels.CancelledKeyException
0 16 22 Class java.lang.Throwable
public void replaceKey(java.nio.channels.SelectionKey);
descriptor: (Ljava/nio/channels/SelectionKey;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.eclipse.jetty.io.SocketChannelEndPoint._key:Ljava/nio/channels/SelectionKey;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
0 2 1 newKey Ljava/nio/channels/SelectionKey;
MethodParameters:
Name Flags
newKey
private void changeInterests(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aconst_null
astore 5
aconst_null
astore 6
1: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._lock:Lorg/eclipse/jetty/util/thread/AutoLock;
invokevirtual org.eclipse.jetty.util.thread.AutoLock.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
astore 7
start local 7 2: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._updatePending:Z
istore 4
start local 4 3: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._desiredInterestOps:I
istore 2
start local 2 4: iload 2
iload 1
ior
istore 3
start local 3 5: iload 3
iload 2
if_icmpeq 7
6: aload 0
iload 3
putfield org.eclipse.jetty.io.SocketChannelEndPoint._desiredInterestOps:I
7: StackMap locals: org.eclipse.jetty.io.SocketChannelEndPoint int int int int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
StackMap stack:
aload 7
ifnull 13
aload 7
invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
goto 13
end local 4 end local 3 end local 2 StackMap locals: org.eclipse.jetty.io.SocketChannelEndPoint int top top top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
StackMap stack: java.lang.Throwable
8: astore 5
aload 7
ifnull 9
aload 7
invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
end local 7 StackMap locals:
StackMap stack:
9: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 6
aload 5
ifnonnull 11
aload 6
astore 5
goto 12
StackMap locals:
StackMap stack:
11: aload 5
aload 6
if_acmpeq 12
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 5
athrow
start local 2 start local 3 start local 4 13: StackMap locals: org.eclipse.jetty.io.SocketChannelEndPoint int int int int
StackMap stack:
getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 15
14: getstatic org.eclipse.jetty.io.SocketChannelEndPoint.LOG:Lorg/slf4j/Logger;
ldc "changeInterests p={} {}->{} for {}"
iconst_4
anewarray java.lang.Object
dup
iconst_0
iload 4
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_1
iload 2
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
dup
iconst_3
aload 0
aastore
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
iload 4
ifne 17
aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._selector:Lorg/eclipse/jetty/io/ManagedSelector;
ifnull 17
16: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._selector:Lorg/eclipse/jetty/io/ManagedSelector;
aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._updateKeyAction:Lorg/eclipse/jetty/io/ManagedSelector$SelectorUpdate;
invokevirtual org.eclipse.jetty.io.ManagedSelector.submit:(Lorg/eclipse/jetty/io/ManagedSelector$SelectorUpdate;)V
17: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
0 18 1 operation I
4 8 2 oldInterestOps I
13 18 2 oldInterestOps I
5 8 3 newInterestOps I
13 18 3 newInterestOps I
3 8 4 pending Z
13 18 4 pending Z
2 9 7 l Lorg/eclipse/jetty/util/thread/AutoLock;
Exception table:
from to target type
2 7 8 any
1 10 10 any
MethodParameters:
Name Flags
operation
public java.lang.String toEndPointString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: ldc "%s{io=%d/%d,kio=%d,kro=%d}"
iconst_5
anewarray java.lang.Object
dup
iconst_0
1: aload 0
invokespecial org.eclipse.jetty.io.AbstractEndPoint.toEndPointString:()Ljava/lang/String;
aastore
dup
iconst_1
2: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._currentInterestOps:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
3: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._desiredInterestOps:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
4: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._key:Ljava/nio/channels/SelectionKey;
invokestatic org.eclipse.jetty.io.ManagedSelector.safeInterestOps:(Ljava/nio/channels/SelectionKey;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
5: aload 0
getfield org.eclipse.jetty.io.SocketChannelEndPoint._key:Ljava/nio/channels/SelectionKey;
invokestatic org.eclipse.jetty.io.ManagedSelector.safeReadyOps:(Ljava/nio/channels/SelectionKey;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
6: 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 7 0 this Lorg/eclipse/jetty/io/SocketChannelEndPoint;
}
SourceFile: "SocketChannelEndPoint.java"
NestMembers:
org.eclipse.jetty.io.SocketChannelEndPoint$1 org.eclipse.jetty.io.SocketChannelEndPoint$2 org.eclipse.jetty.io.SocketChannelEndPoint$3 org.eclipse.jetty.io.SocketChannelEndPoint$RunnableCloseable org.eclipse.jetty.io.SocketChannelEndPoint$RunnableTask
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Selectable = org.eclipse.jetty.io.ManagedSelector$Selectable of org.eclipse.jetty.io.ManagedSelector
public abstract SelectorUpdate = org.eclipse.jetty.io.ManagedSelector$SelectorUpdate of org.eclipse.jetty.io.ManagedSelector
org.eclipse.jetty.io.SocketChannelEndPoint$1
org.eclipse.jetty.io.SocketChannelEndPoint$2
org.eclipse.jetty.io.SocketChannelEndPoint$3
private abstract RunnableCloseable = org.eclipse.jetty.io.SocketChannelEndPoint$RunnableCloseable of org.eclipse.jetty.io.SocketChannelEndPoint
private abstract RunnableTask = org.eclipse.jetty.io.SocketChannelEndPoint$RunnableTask of org.eclipse.jetty.io.SocketChannelEndPoint