class io.undertow.server.AbstractServerConnection$CloseSetter implements org.xnio.ChannelListener$Setter<io.undertow.server.ServerConnection>, org.xnio.ChannelListener<org.xnio.StreamConnection>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.undertow.server.AbstractServerConnection$CloseSetter
super_class: java.lang.Object
{
private org.xnio.ChannelListener<? super io.undertow.server.ServerConnection> listener;
descriptor: Lorg/xnio/ChannelListener;
flags: (0x0002) ACC_PRIVATE
Signature: Lorg/xnio/ChannelListener<-Lio/undertow/server/ServerConnection;>;
final io.undertow.server.AbstractServerConnection this$0;
descriptor: Lio/undertow/server/AbstractServerConnection;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(io.undertow.server.AbstractServerConnection);
descriptor: (Lio/undertow/server/AbstractServerConnection;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/AbstractServerConnection$CloseSetter;
MethodParameters:
Name Flags
this$0 final
public void set(org.xnio.ChannelListener<? super io.undertow.server.ServerConnection>);
descriptor: (Lorg/xnio/ChannelListener;)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 io.undertow.server.AbstractServerConnection$CloseSetter.listener:Lorg/xnio/ChannelListener;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/AbstractServerConnection$CloseSetter;
0 2 1 listener Lorg/xnio/ChannelListener<-Lio/undertow/server/ServerConnection;>;
Signature: (Lorg/xnio/ChannelListener<-Lio/undertow/server/ServerConnection;>;)V
MethodParameters:
Name Flags
listener
public void handleEvent(org.xnio.StreamConnection);
descriptor: (Lorg/xnio/StreamConnection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
getfield io.undertow.server.AbstractServerConnection.closeListeners:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: io.undertow.server.AbstractServerConnection$CloseSetter org.xnio.StreamConnection top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.undertow.server.ServerConnection$CloseListener
astore 2
start local 2 2: aload 2
aload 0
getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
invokeinterface io.undertow.server.ServerConnection$CloseListener.closed:(Lio/undertow/server/ServerConnection;)V
3: goto 6
StackMap locals: io.undertow.server.AbstractServerConnection$CloseSetter org.xnio.StreamConnection io.undertow.server.ServerConnection$CloseListener java.util.Iterator
StackMap stack: java.lang.Throwable
4: astore 4
start local 4 5: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
aload 2
aload 4
invokeinterface io.undertow.UndertowLogger.exceptionInvokingCloseListener:(Lio/undertow/server/ServerConnection$CloseListener;Ljava/lang/Throwable;)V
end local 4 end local 2 6: StackMap locals: io.undertow.server.AbstractServerConnection$CloseSetter org.xnio.StreamConnection top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
7: aload 0
getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
getfield io.undertow.server.AbstractServerConnection.current:Lio/undertow/server/HttpServerExchange;
ifnull 9
8: aload 0
getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
getfield io.undertow.server.AbstractServerConnection.current:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.endExchange:()Lio/undertow/server/HttpServerExchange;
pop
9: StackMap locals: io.undertow.server.AbstractServerConnection$CloseSetter org.xnio.StreamConnection
StackMap stack:
aload 0
getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
aload 0
getfield io.undertow.server.AbstractServerConnection$CloseSetter.listener:Lorg/xnio/ChannelListener;
invokestatic org.xnio.ChannelListeners.invokeChannelListener:(Ljava/nio/channels/Channel;Lorg/xnio/ChannelListener;)Z
pop
10: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 5
12: aload 0
getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
getfield io.undertow.server.AbstractServerConnection.extraBytes:Lio/undertow/connector/PooledByteBuffer;
ifnull 15
13: aload 0
getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
getfield io.undertow.server.AbstractServerConnection.extraBytes:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
14: aload 0
getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
aconst_null
putfield io.undertow.server.AbstractServerConnection.extraBytes:Lio/undertow/connector/PooledByteBuffer;
15: StackMap locals: io.undertow.server.AbstractServerConnection$CloseSetter org.xnio.StreamConnection top top top java.lang.Throwable
StackMap stack:
aload 5
athrow
16: StackMap locals: io.undertow.server.AbstractServerConnection$CloseSetter org.xnio.StreamConnection
StackMap stack:
aload 0
getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
getfield io.undertow.server.AbstractServerConnection.extraBytes:Lio/undertow/connector/PooledByteBuffer;
ifnull 19
17: aload 0
getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
getfield io.undertow.server.AbstractServerConnection.extraBytes:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
18: aload 0
getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
aconst_null
putfield io.undertow.server.AbstractServerConnection.extraBytes:Lio/undertow/connector/PooledByteBuffer;
19: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/undertow/server/AbstractServerConnection$CloseSetter;
0 20 1 channel Lorg/xnio/StreamConnection;
2 6 2 l Lio/undertow/server/ServerConnection$CloseListener;
5 6 4 e Ljava/lang/Throwable;
Exception table:
from to target type
2 3 4 Class java.lang.Throwable
0 11 11 any
MethodParameters:
Name Flags
channel
public void handleEvent(java.nio.channels.Channel);
descriptor: (Ljava/nio/channels/Channel;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast org.xnio.StreamConnection
invokevirtual io.undertow.server.AbstractServerConnection$CloseSetter.handleEvent:(Lorg/xnio/StreamConnection;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Lorg/xnio/ChannelListener$Setter<Lio/undertow/server/ServerConnection;>;Lorg/xnio/ChannelListener<Lorg/xnio/StreamConnection;>;
SourceFile: "AbstractServerConnection.java"
NestHost: io.undertow.server.AbstractServerConnection
InnerClasses:
private CloseSetter = io.undertow.server.AbstractServerConnection$CloseSetter of io.undertow.server.AbstractServerConnection
public abstract CloseListener = io.undertow.server.ServerConnection$CloseListener of io.undertow.server.ServerConnection
public abstract Setter = org.xnio.ChannelListener$Setter of org.xnio.ChannelListener